2010-06-24 16 views
5
$ git checkout to-branch 
$ git merge from-branch 
$ git status | grep unmerged 
# file1 unmerged 
# file2 unmerged 
# file3 unmerged 
$ vi file1 
$ git add . 

ईक! मेरा मतलब "गिट एड" करने का मतलब नहीं था। मेरा मतलब था "git add file1"!"गिट एड" को पूर्ववत कैसे करें। एक विलय के दौरान?

अब मैं व्यवहार नहीं मिल सकता है की तरह:

$ git show :1:file2 

मैंने कोशिश की:

$ git reset file2 

और

$ git checkout -m file2 

लेकिन उन रिटर्न की न तो एक "मर्ज ना किए गए" राज्य के लिए करें 2 । गिट स्थिति इसे अनमोल के रूप में नहीं दिखाती है और मेरे पास "गिट शो: 1: फाइल 2" आदि तक पहुंच नहीं है। मैं फ़ाइल को वापस बेकार स्थिति में रखना चाहता हूं।

मैं उस स्थिति में कैसे जा सकता हूं जहां मैं "गिट एड" से पहले था। फ़ाइल 1 में मेरे परिवर्तन खोने के बिना?

उत्तर

10

(परीक्षण किया नहीं) आप

git checkout -m /path/to/file2 
git checkout -m /path/to/file3 

की कोशिश की?

जब सूचकांक से पथ बाहर की जाँच, इस विकल्प को आपके द्वारा निर्दिष्ट पथ में विरोध हुआ मर्ज पुन:

यदि यह काम नहीं करता है, तो आप ऐसा सवाल में कुछ अन्य उत्तर हो सकता है की सुविधा देता है " How do I get my git merge conflicts back after merging incorrectly? "

+0

धन्यवाद। यह आपको विलय विवादों के साथ फ़ाइल देता है लेकिन यह जो भी गिट विवाद विवादों को ट्रैक करने के लिए उपयोग कर रहा है उसे अद्यतन नहीं करता है ताकि गिट स्थिति फ़ाइल को अनमर्ज और गिट शो के रूप में नहीं दिखाती: 1: file2, आदि नहीं काम। दूसरे प्रश्न पर एक नज़र डालेंगे। –

+0

+1, कूल - मुझे इस अस्पष्ट सुविधा के बारे में पता नहीं था। बस इसके साथ एक परीक्षण की कोशिश की और यह विज्ञापन के रूप में काम करता प्रतीत होता है। –

1

मामले में किसी को अब भी इस समस्या हो रही है (जैसे मैं अभी-अभी किया था), आप (अब) कर सकते हैं:

git update-index --unresolve file2 file3 
संबंधित मुद्दे