2011-07-28 7 views
72

मैं एक बड़े विलय के बीच में हूं, और मैंने सभी संघर्षों को हल करने के लिए git mergetool का उपयोग किया है, लेकिन मैंने अभी तक प्रतिबद्ध नहीं किया है, क्योंकि मैं यह सुनिश्चित करना चाहता था कि विलय ठीक था प्रथम।केवल एक फ़ाइल का पुन: विलय

यह पता चला है कि मैंने एक फ़ाइल में संघर्षों को हल करते समय गलती की है, और मैं उस फ़ाइल पर git mergetool के साथ संघर्ष समाधान को फिर से शुरू करना चाहता हूं। चूंकि यह एक बड़ा विलय है, मैं अन्य सभी फ़ाइलों पर विलय को फिर से शुरू करना चाहता हूं, क्योंकि मुझे लगता है कि मुझे git merge --abort के साथ करना होगा।

मुझे पता है कि मैं फ़ाइल को मैन्युअल रूप से संपादित कर सकता हूं, लेकिन यह काफी कठिन होगा और git mergetool ऑपरेशन को फिर से करना बहुत आसान होगा। क्या यह संभव है?

उत्तर

108

ऐसा लगता है कि मैं बस गलत जगह पर देख रहा था। समाधान काफी सरल साबित हुआ।

git checkout -m <file> 

यह फ़ाइल को अपने विवादित स्थिति में लौटाता है। मैं फिर विलय को फिर से करने के लिए git mergetool चला सकता हूं।

+2

इस तरह के मेरे लिए काम किया। इंडेक्स एक विलयित राज्य में समाप्त हुआ, लेकिन मेरेटूल ने नहीं सोचा था कि कोई उत्कृष्ट विलय हुआ था। मैंने अभी वीआई का उपयोग करके विलय किया है, लेकिन यह वैसे भी अजीब था। –

0

आप हमेशा फ़ाइलों को मैन्युअल रूप से संपादित कर सकते हैं।

यदि आप git merge --no-commit का उपयोग कर रहे हैं, तो आपके पास केवल एक तैयार प्रतिबद्धता होगी (ऑटो और सेमी-ऑटो के बाद) विलय हो जाएगा।

आप अभी भी फ़ाइलों को सुरक्षित रूप से संपादित कर सकते हैं और पूरी तरह से संतुष्ट होने पर ही प्रतिबद्ध हो सकते हैं।

+0

मैं इससे बचने की उम्मीद कर रहा था, लेकिन वैसे भी धन्यवाद। – hammar

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