मैं एक दृश्य मर्ज उपकरण नहीं चाहता, और मुझे भी विवादित फ़ाइल को vi नहीं करना है और मैन्युअल रूप से HEAD (मेरा) और आयातित परिवर्तन (उनके) के बीच चयन करना है। ज्यादातर समय मैं या तो उनके सभी बदलाव चाहता हूं या मेरा सभी। आमतौर पर ऐसा इसलिए होता है क्योंकि मेरे बदलाव ने इसे और तेज कर दिया है और एक पुल के माध्यम से मेरे पास वापस आ रहा है, लेकिन विभिन्न स्थानों में इसे थोड़ा संशोधित किया जा सकता है।
क्या एक कमांड लाइन टूल है जो संघर्ष मार्करों से छुटकारा पायेगा और मेरी पसंद के आधार पर सभी एक तरह से या किसी अन्य का चयन करेगा? या git कमांड का एक सेट, जिसे मैं प्रत्येक को करने के लिए खुद को उपनाम दे सकता हूं।
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
ऐसा करना कष्टप्रद है। 'मेरा स्वीकार करो' के लिए मैंने कोशिश की है:
randy@sabotage ~/linus $ git merge test-branch
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
Automatic merge failed; fix conflicts and then commit the result.
randy@sabotage ~/linus $ git checkout Makefile
error: path 'Makefile' is unmerged
andy@sabotage ~/linus $ git reset --hard HEAD Makefile
fatal: Cannot do hard reset with paths.
इन परिवर्तन मार्करों से मुझे कैसे छुटकारा मिलना चाहिए?
मैं कर सकता हूँ:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
लेकिन ऐसा लगता है कि इसके बारे में गोल नहीं है, एक बेहतर तरीका होना चाहिए। और इस बिंदु पर, मुझे यकीन नहीं है कि अगर मुझे भी लगता है कि मर्ज हुआ है, तो मुझे नहीं लगता कि यह जरूरी भी काम करता है।
दूसरे तरीके से जाना, 'अपने को स्वीकार' करना भी उतना ही गड़बड़ है। एकमात्र तरीका है कि मैं यह पता लगा सकता हूँ:
git show test-branch:Makefile > Makefile; git add Makefile;
यह मुझे एक गड़बड़ संदेश भी देता है, जिसमें दो बार टकराव: मेकफाइल है।
क्या कोई कृपया यह बता सकता है कि उपर्युक्त दोनों क्रियाओं को सरल तरीके से कैसे किया जाए? धन्यवाद