फ़ाइल को रिपॉजिटरी से निकालें लेकिन इसे स्थानीय रूप से रखें


369

मेरे पास एक फ़ोल्डर है जिसे मैं अपने दूरस्थ रिपॉजिटरी में निकालना चाहूंगा। मैं इसे हटाना चाहता हूं, लेकिन अपने कंप्यूटर में फ़ोल्डर रखें



कृपया सुझाए गए संबंधित प्रश्नों को देखें क्योंकि आप अपना लेखन कर रहे हैं - डुप्लिकेट संभवतः पहले दो में से एक था।
कैसबेल

एक और डुप्लिकेट: stackoverflow.com/questions/1273108/…
Cascabel

जवाबों:


637
git rm --cached -r somedir

निर्देशिका के विलोपन को चरणबद्ध करेगा, लेकिन डिस्क पर कुछ भी नहीं छूता है। यह फ़ाइल के लिए भी काम करता है, जैसे:

git rm --cached somefile.ext

बाद में आप अपनी फ़ाइल में somedir/या जोड़ना चाह सकते हैं ताकि git इसे वापस जोड़ने का प्रयास न करे।somefile.ext.gitignore


24
और फिर .itignore में पथ जोड़ें ताकि git आपको बाद में इसे जोड़ने का प्रयास न करे।
ग्रोसोवेल

3
क्या इसका परिणाम (फ़ाइलों में) निर्देशिका को निकाला जा रहा है जब वह रिमोट से खींचेगा?
bstpierre

नहीं जब वह खींचता है; पुल के स्वचालित मर्ज प्रक्रिया के दौरान फ़ाइलें स्थानीय रूप से हटा दी जाएंगी। उसके बाद, एक धक्का फ़ाइलों को सर्वर-साइड को हटाने का कारण होगा।
वाल्टर मुंड

7
यदि मेरे पास तीसरा रिमोट है तो क्या होगा? क्या भविष्य में खींची जाने वाली संगत फाइलें हटा दी जाएंगी? मैं पूछता हूं क्योंकि मुझे लगता है कि यह एक बहुत ही सामान्य उपयोग का मामला है, अर्थात रेपो में कुछ फाइलों की जांच करें, बाद की तारीख में महसूस करें कि वे रीमोट के बीच विचरण करते हैं, अच्छे कारण के लिए, और रेपो में पहले कभी नहीं होना चाहिए। सभी स्थानीय जांचों को वैसा ही बनाए रखने के लिए, जैसा कि वे हैं, लेकिन रेपो से फ़ाइलों को हटाकर।
बॉबी जैक

6
एकल फ़ाइलों के लिए, आप कर सकते हैंgit rm --cached path/to/file
ट्रैविस रीडर

3

मैं बस:

  • अपने कार्यशील पेड़ से फ़ोल्डर को स्थानांतरित करें
  • git rm फ़ोल्डर, परिवर्तन करें
  • .gitignore(या .git/info/excludes) में जोड़ें , परिवर्तन करें
  • फ़ोल्डर को वापस ले जाएं

8
यह एक अच्छा समाधान नहीं है - क्या होगा यदि आपके पास बहुत बड़ी निर्देशिका है?
ioleo

शायद उपयोग करने की आवश्यकता हैgit rm -r
TheUtherSide

1
@loostro बस इसे दूसरे ब्लॉक डिवाइस पर न ले जाएँ। सबसे फाइल सिस्टम सिर्फ फाइल के
इनोड को
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.