2013-03-21 4 views
6

मेरे पास एक App.Local.config फ़ाइल है जिसमें प्रत्येक डेवलपर की अपनी सेटिंग्स होती है। मैं नहीं चाहता कि यह फ़ाइल जीआईटी रिपो में संस्करणित की गई हो क्योंकि हर बार इसे किसी अन्य डेवलपर्स द्वारा ओवरराइट किया जाएगा।जीआईटी: शाखाओं को स्विच करते समय अनदेखा फ़ाइलों को कैसे रखा जाए?

इसलिए मैंने रिपो से फ़ाइल हटा दी और इसे अनदेखा फ़ाइल में जोड़ा। लेकिन अब जब डेवलपर शाखाएं स्विच करते हैं, तो App.Local.config को उनके स्थानीय फाइल सिस्टम से हटा दिया जाता है।

अंत में मैं क्या चाहते हैं:

  1. नई देव क्लोन रेपो, App.Local.config का कोई आरंभिक संस्करण
  2. देव App.Local.config में परिवर्तन करता है हो जाता है। गिट परिवर्तनों को अनदेखा कर देगा और चरण/चेकइन
  3. देव शाखाओं को स्विच करता है, App.Local.config में परिवर्तन खो नहीं जाएगा और फ़ाइल हटाई नहीं जाएगी।

मैं यह कैसे कर सकता हूं?

धन्यवाद।

+0

अगर फ़ाइल को सही ढंग से अनदेखा किया जाता है, तो शाखाओं को स्विच करते समय इसे स्पर्श नहीं किया जाना चाहिए। क्या यह तब दिखाई देता है जब आप 'गिट स्थिति' टाइप करते हैं? –

+2

इसे केवल हर किसी के लिए पहले अपडेट पर हटा दिया जाएगा। एक बार सभी के रिपोज़ अद्यतित होने के बाद, फ़ाइल रहेगी और हटाई नहीं जाएगी। – TheBuzzSaw

उत्तर

6

शायद यह हुआ कि आपने फ़ाइल को अपने कार्यक्षेत्र से हटा दिया लेकिन सूचकांक से नहीं। यदि आपने यह गिट किया है तो यह सोचता है कि इस फ़ाइल को हटाने का एक बदलाव है और यह तब से इसे हटा देगा।

जाने का रास्ता

git rm --cached App.Local.config 

साथ सूचकांक से अब और फ़ाइल आप ट्रैक करना नहीं चाहते हैं दूर करने के लिए और उसके बाद करना है कि आप के साथ कोई और अधिक समस्याओं होगा .gitignore के लिए उस फ़ाइल को जोड़ने है फ़ाइल

+1

@mswanson अगर फ़ाइल को अनदेखा किया जाता है, तो आप शाखाओं को अपनी इच्छानुसार स्विच कर सकते हैं - यह स्पर्श नहीं किया जाएगा। तो आपके पास केवल एक समस्या है: इस फ़ाइल के लिए टेम्पलेट के साथ devs प्रदान करें। लेकिन आपको इसे गिट से करना चाहिए। – madhead

+0

अगर फ़ाइल को अनदेखा किया गया है और अनुक्रमणिका से बाहर फ़ाइल में परिवर्तन खो नहीं गए हैं और फ़ाइल हटाई नहीं गई है – iberbeu

+1

@iberbeu मुझे एक ही समस्या है लेकिन फ़ाइल इंडेक्स में कभी नहीं रही है। मैंने --orphan ध्वज के साथ एक नई शाखा शुरू की, फिर जीआईटी आरएम - सब कुछ कैश किया, कुछ फ़ाइलों को अनदेखा किया .gitignore और प्रतिबद्ध। जब मैं शाखाएं स्विच करता हूं तो वे फ़ाइलें गायब हो जाती हैं और मुझे नहीं पता कि इससे कैसे बचें! – splinter123

1

ऐसा लगता है कि यह फ़ाइल एक बार इंडेक्स में थी। तो इसकी हटाने एक बदलाव है। आप इसे .gitignore या .git/info/exclude पर जोड़ सकते हैं और फिर इसे प्रत्येक डेवलपर मशीन पर फिर से बना सकते हैं।

0

आप न केवल आप में git rm --cached App.Local.config का उपयोग करना चाहिए काम कर शाखा लेकिन यह भी शाखा में आप के लिए स्विच करना चाहते हैं, या आप अपने App.Local.config खो देते हैं जब आप शाखा आप काम किया है, तो आप केवल उस शाखा में git rm --cached App.Local.config उपयोग करने के लिए वापस स्विच करेंगे ।

संबंधित मुद्दे

 संबंधित मुद्दे