2010-11-11 17 views
17

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

क्या हो रहा समाप्त होता है प्लगइन का फ़ाइलों परियोजना निर्देशिका में रहने के है। मैं सोच रहा हूं कि यह सामान्य व्यवहार है या नहीं। शाखाओं के बीच एक निर्बाध स्विच करने के लिए मुझे क्या करना है?

+0

@ipsum: उत्तर? –

+3

Git, अपने काम की नकल से ट्रैक न किए गए फ़ाइलों को हटा नहीं होंगे तो जब तक आप प्लगइन की फ़ाइलों को जोड़ा गया है और एक नई शाखा Git पर प्रतिबद्ध – knittl

+1

@knittl अपने प्लगइन फ़ाइलों के लिए कुछ नहीं करेंगे बनाया: * कि * जवाब है। साथ ही इसे पोस्ट कर सकते हैं। (शायद 'गिट क्लीन' के उल्लेख के साथ।) – Cascabel

उत्तर

12

Git, अपने काम की नकल से ट्रैक न किए गए फ़ाइलों को हटा नहीं होंगे तो जब तक आप प्लगइन की फ़ाइलों को जोड़ा गया है और एक नई शाखा Git पर प्रतिबद्ध अपने प्लगइन फ़ाइलों के लिए कुछ नहीं करेंगे बनाया।

आप अपने काम के पेड़ से ट्रैक न किए गए फ़ाइल को निकालना चाहते हैं, git clean का उपयोग करें - सावधान रहना होगा, यह डिस्क से किसी भी ट्रैक न किए गए फ़ाइल को हटा देगा और उस से उबरने के लिए कोई रास्ता नहीं है (हटाना रद्द सॉफ्टवेयर का उपयोग कर के बिना)

+0

'Git clean' के संभावित खतरे से सहमत हैं, ज़ाहिर है, यही वजह है कि यह और भी कुछ नहीं करेंगे जब तक आप इसे' -f' विकल्प गुजरती हैं। (इस मामले के लिए संभवतः सहायक - आप इसे विशिष्ट पथों पर उपयोग कर सकते हैं।) – Cascabel

+0

क्यों "गिट आपकी कार्यशील प्रतिलिपि से अनचाहे फ़ाइलों को नहीं हटाएगा"? क्या मेरी अगली 'गिट एड' अलग-अलग शाखाओं से उन अनचाहे फ़ाइलों को जोड़ देगी? – joetsuihk

+0

@joetsuihk: कार्यशील निर्देशिका में अनचाहे फ़ाइलें किसी भी शाखा से संबंधित नहीं हैं, वे कार्यशील निर्देशिका से संबंधित हैं। अगर आप 'add' ट्रैक न किए गए फ़ाइलों git, वे अगले प्रतिबद्ध – knittl

0

कोशिश चेकआउट -f

Git --help चेकआउट देखें:

आगे बढ़ें भले ही सूचकांक या काम कर पेड़ प्रमुख से अलग है। इसका उपयोग स्थानीय परिवर्तनों को फेंकने के लिए किया जाता है।

+2

मुझे नहीं लगता कि यह ओपी का अनुभव है। चेकआउट आगे बढ़ता है, लेकिन वहां कुछ फाइलें छोड़ देता है। – Cascabel

+0

मैं Jefromi –

0

आप अगर वहाँ है "

git clean -df 

इस बल" हटाएँ "होगा": शाखाओं जहां निर्देशिका संरचना अलग हैं के बीच आगे पीछे करने जा रहे हैं, और आप पाते हैं कुछ कलाकृतियों बचे देखते हैं कि, आप को चलाने के लिए आवश्यकता हो सकती है। आप सभी ट्रैक न किए गए फ़ाइलों खो देंगे, मुझे लगता है कि यह हो सकता है एक कदम से दूर:

git reset --hard 
संबंधित मुद्दे