मैं वास्तव में टिम के समाधान को पसंद करता हूं, हालांकि कभी-कभी मुझे विमिफ़ में छेड़छाड़ करना पसंद है। इस समस्या का मेरा समाधान क्रूड है, लेकिन यह मेरे लिए काम करता है क्योंकि मुझे विम पसंद है।
मेरे पास मेरे विभिन्न प्रकार के रूप में सेट है, और फिर चुनिंदा रूप से विलय करने के लिए मैं शाखा को अलग करता हूं:
git difftool <branch> <file>
फिर मैं वर्तमान शाखा के संस्करण के साथ फलक पर जाता हूं और मूल को vim में संपादित करता हूं (कभी-कभी यह आवश्यक नहीं होता है, लेकिन कभी-कभी vimdiff / tmp में एक संस्करण खोलता है) और रीड-ओनली मोड को अक्षम करें:
:e <file>
:set readonly!
अब मैं विम के पैच टूल्स जैसे do
और का उपयोग कर सकता हूंdp
लागू करने के लिए मैं क्या चाहते हैं, और अन्य छोटे संपादन करने के रूप में मैं जाना। जब मैं किया जाता हूं, तो मैं फ़ाइल को सहेजता हूं, विम से बाहर निकलता हूं, और फिर एक नियमित संपादन की तरह फ़ाइल को चरणबद्ध करता हूं।
जैसा कि मैंने कहा, यह विशेष रूप से परिष्कृत नहीं है, लेकिन यह बहुत शक्तिशाली है, और अभी भी पूरी तरह से कमांड लाइन में है। बस एक स्पष्ट प्रतिबद्ध संदेश जोड़ना सुनिश्चित करें, क्योंकि git स्वचालित रूप से आपके लिए मर्ज संदेश शामिल नहीं करेगा।
vimdiff उदाहरण http://j.mp/1dZVllt