2010-08-30 17 views
8

चलो कहते हैं कि मैं अपने भंडार की जड़ में एक .noise फ़ाइल करते हैं बिना एक रेपो में पहले से ही फाइलों की उपेक्षा। यह फ़ाइल अक्सर मेरी टीम पर दूसरों द्वारा रिमोट रेपो में संशोधित और प्रतिबद्ध होती है।को हटाने के लिए उन्हें

मैं जब तक मैं कुछ भी अपने आप को करने से कर रहा हूँ पूरी तरह से इस फ़ाइल को अनदेखा करना चाहते, लेकिन मैं अभी भी दूसरों से परिवर्तन में लेना चाहते हैं, और मैं फ़ाइल को नष्ट करने के लिए नहीं करना चाहती। अगर मैं .git/info/exclude का उपयोग करता हूं, तो मुझे फ़ाइल को git rm --cached फ़ाइल करना होगा ताकि यह रेपो में दिखाई न दे।

# On branch master 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: .noise 
# 
# No changes added to commit (use "git add" and/or "git commit -a") 

लिए:

अब जब कि ऐसा करने से मुझे लाता है

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# deleted: .noise 
# 

'परिवर्तन के लिए प्रतिबद्ध होना करने के लिए' मुझे डराता है। मैं .noise को रिमोट पर वापस हटाने के लिए नहीं चाहता हूं, मैं नहीं चाहता कि यह मेरे filessytem पर भी हटा दिया जाए। मैं सिर्फ गिट को देखना नहीं चाहता हूं या इसके साथ कुछ लेना चाहता हूं। मैं सोचा कि git rm --cached कोई भी परिवर्तन मंच नहीं होना चाहिए था? क्या ऐसा नहीं है?

कोई विचार?

+0

आप खुद ही इस फ़ाइल को बदल सकता हूँ? क्या आप अपने काम के पेड़ में इस फ़ाइल के रिमोट चेंज देखना चाहते हैं? – Shcheklein

उत्तर

14

आप उपयोग कर सकते हैं:

$ git update-index --assume-unchanged -- .noise 

update-index --assume-unchanged Git फ़ाइल को ट्रैक करने के लिए जारी कर देगा, लेकिन अपने परिवर्तनों को अनुक्रमणिका में दिखाई नहीं देंगे या रेपो में जोड़ा।

+0

जहां तक ​​मैं समझता हूं, इस तरह से फ़ाइल काम करेगा अगर वास्तव में फ़ाइल अपरिवर्तित हो जाएगी। Git करता है जो इस फ़ाइल को किसी भी तरह संशोधित खींचने के लिए असफल हो जायेगी: "Git असफल हो जायेगी (शान) के मामले में यह जब में एक प्रतिबद्ध विलय सूचकांक जैसे में इस फ़ाइल को संशोधित करने की जरूरत है, इस प्रकार, इस मामले में ग्रहण-ट्रैक न किए गए फ़ाइल नदी के ऊपर बदल गया है, आपको स्थिति को मैन्युअल रूप से संभालने की आवश्यकता होगी। " (गिट-अपडेट-इंडेक्स (1) देखें) – Shcheklein

+0

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

+0

@Shcheklein "गिट ऐसी गतिविधियों को खींचने में विफल रहेगा जो इस फ़ाइल को किसी भी तरह संशोधित करते हैं" शायद यह अंत नहीं है-सब कुछ सब समाधान हो। रिमोट कमेट्स को खींचा जाने पर मुझे परीक्षण करना होगा और सत्यापित करना होगा। –

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