2010-12-16 8 views
7

की वजह से विफल रहता है मैं Google पर एक विशेषज्ञ नहीं हूं। कहने की जरूरत नहीं है, मुझे यह भी यकीन नहीं है कि इसका क्या अर्थ है या इसे कैसे हल किया जाए?गिट एक अनचाहे काम करने वाली पेड़ फ़ाइल

>> git merge admin_playground 
error: Untracked working tree file 'vendor/gems/panda-1.0.0/.gitignore' would be overwritten by merge. 
fatal: merging of trees 538b2824765956cc44c42a8ad628e4f4 and d5d4cda68518cd1c81bf70ba8c339fea6 failed 

मैं एक गिट विलय करने और इस असफल वक्तव्य को प्राप्त करने की कोशिश कर रहा हूं।

उत्तर

8

ऐसा इसलिए है क्योंकि .gitignore आपकी वर्तमान शाखा में नहीं है (यह अनचाहे है), लेकिन यह उस शाखा में है जिसे आप विलय करने का प्रयास कर रहे हैं। प्रश्न में .gitignore फ़ाइल जोड़ें और प्रतिबद्ध करें, फिर विलय को फिर से प्रयास करें; या .gitignore फ़ाइल को हटाएं यदि आपको इसकी आवश्यकता नहीं है और दूसरी शाखा में से किसी से खुश हैं।

3

नोट: mipadi (accepted answer के लेखक) ने विभिन्न शाखाओं पर फ़ाइल नामों के बीच case conflicts के संदर्भ में इस त्रुटि संदेश का भी उल्लेख किया।

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

एक और original solution:

git checkout -f admin_playground # will overwrite files 
git checkout yourBranch # get back where you where when trying the merge 
git merge admin_playground 

यह मजबूर Git आगे जाना है और फ़ाइलों को अधिलेखित करना।
मुझे लगता है कि आप 'विकल्प का उपयोग merge के साथ भी कर सकते थे, लेकिन दूसरी शाखा में स्विच कर रहे थे और फिर समस्या को ठीक कर दिया और मैं अगली बार किसी भी परेशानी के बिना विलय करने में सक्षम था।

नोट: git merge पर वास्तव में कोई '-f' विकल्प नहीं है।

1

नीचे चलाने की कोशिश करें आदेश:

git add * 

git stash 

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