22

मेरे पास एक प्रोजेक्ट में .h हेडर फ़ाइल में एक छोटा सा संघर्ष था जिस पर मैं काम कर रहा हूं। इस परियोजना को गिट में ट्रैक किया गया है।एक विवादित गिट विलय के बाद सफाई?

सौभाग्य से, संघर्ष हल करने के लिए बहुत आसान था। मैं

git mergetool

इस्तेमाल किया और डिफ़ॉल्ट (opendiff) जो अपने Mac पर FileMerge लग रहा था चुना है। मैंने उचित परिवर्तन किए, फ़ाइल को सहेजा, और बंद कर दिया।

Git तो मुझे पूछा कि क्या मर्ज सफल रहा था, मैं हाँ कहा:

Was the merge successful? [y/n] y

लेकिन अब, मेरे पास है:

> git st 
# On branch develop 
# Changes to be committed: 
# modified: MyHeader.h 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# MyHeader.h.BACKUP.52920.h 
# MyHeader.h.BASE.52920.h 
# MyHeader.h.LOCAL.52920.h 
# MyHeader.h.REMOTE.52920.h 
# MyHeader.h.orig 

उन अतिरिक्त कबाड़ संघर्ष फ़ाइलों में से कौन सा द्वारा बनाया गया था FileMerge, और जो गिट द्वारा?

और अधिक महत्वपूर्ण बात: मैं उन्हें कैसे हटा सकता हूं?

उत्तर

39

आप उन्हें किसी भी अन्य फ़ाइल की तरह हटा सकते हैं। उदाहरण के लिए:

rm MyHeader.h.orig 

वैकल्पिक रूप से, अगर वहाँ कोई अन्य ट्रैक न किए गए फ़ाइलें हैं, तो बाद आप

git commit -a 

साथ प्रतिबद्ध आप अपने भंडार को साफ कर सकते हैं

git clean -n 
git clean -f 

git clean -n साथ आपको बता देंगे क्या git clean -f करेगा, इसलिए आप सुनिश्चित कर सकते हैं कि आप यही चाहते हैं।

+0

धन्यवाद -' गिट क्लीन-एन/-एफ' लंबे समय तक चल रहा है। यदि आप केवल उपफोल्डर पर क्लीन करना चाहते हैं तो आप अंत में एक पथ भी निर्दिष्ट कर सकते हैं। –

+0

कभी-कभी * .orig **। Gitignore ** फ़ाइल में है। इस मामले में जाने का तरीका सूखा दौड़ है जिसमें अनदेखी फाइलें शामिल हैं: 'गिट क्लीन-एनएक्स */*। मूल', जांचें और फिर 'गिट क्लीन-एफएक्स */*। मूल' हटाएं। क्रेडिट जाता है: http://travisjeffery.com/b/2011/12/keeping-your-git-repo-clean-of-orig-files/ –

7

यदि वे एकमात्र अनचाहे फ़ाइलें हैं, तो आप उन्हें हटाने के लिए git clean का उपयोग कर सकते हैं। -n ध्वज के साथ इसे एक बार चलाएं ताकि यह सुनिश्चित किया जा सके कि क्या हटाया जाएगा, फिर यदि आप सुनिश्चित हैं, तो -f के साथ चलाएं। अगर आपके पास अनचाहे फाइलें हैं जो आप रखना चाहते हैं तो इसका उपयोग न करें!

+1

नोट: "अगर वे केवल अनचाहे फाइलें हैं"। 'गिट क्लीन' के साथ बहुत सावधान रहें, क्योंकि आप आसानी से उन फ़ाइलों को खो सकते हैं जो संस्करण नियंत्रण में नहीं हैं! मैं बस उन्हें मैन्युअल रूप से हटाने की सलाह दूंगा। –

+0

या, मुझे फ़ाइल पैटर्न का उपयोग करने की आदत मिल गई है, जैसे: 'git clean -f * .orig' –

1

पहले अपना विलय करें।

एक बार जब आप संतुष्ट हो जाएं कि सब ठीक है, तो इन अतिरिक्त फ़ाइलों को मैन्युअल रूप से हटाएं (उदाहरण के लिए rm <filename> का उपयोग करके)।

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