इस उत्तर से मेरे उत्तर को फिर से प्रस्तुत करना जो कि गिट के लिए अलग उपकरण के रूप में तुलना करने से अधिक विशिष्ट था। मेरे द्वारा साझा किए गए सभी विवरण समान रूप से किसी भी उपकरण के लिए समान रूप से उपयोगी हैं, इसलिए इसे यहां साझा करें:
हमारे द्वारा चलाया जाने वाला पहला आदेश नीचे दिया गया है:
git config --global diff.tool bc3
उपरोक्त आदेश निर्देशिका में .gitconfig
मिली प्रविष्टि के नीचे बनाता है %userprofile%
:
[diff]
tool = bc3
फिर आप नीचे कमांड चलाते हैं ( इस कमांड को रन करना इस विशेष मामले में बेमानी है और केवल कुछ विशेष मामलों में ही आवश्यक है। आप इसे थोड़ी देर में जान जाएंगे ):
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"
ऊपर कमांड .gitconfig
फ़ाइल में नीचे प्रविष्टि बनाता है :
[difftool "bc3"]
path = c:/program files/Beyond Compare 3/bcomp.exe
यहां जानने योग्य बात यह है bc3
। यह बाजार में उपलब्ध प्रसिद्ध तुलना उपकरणों के एक विशेष संस्करण के अनुरूप होने के लिए एक अच्छी तरह से ज्ञात कुंजी है ( bc3
उपकरण की तुलना में परे के तीसरे संस्करण से मेल खाती है)। यदि आप सभी पूर्व-निर्धारित कुंजियों को देखना चाहते हैं तो बस git difftool --tool-help
git bash पर कमांड चलाएं । यह सूची के नीचे लौटता है:
vimdiff
vimdiff2
vimdiff3
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff
आप उपरोक्त किसी भी कुंजी का उपयोग कर सकते हैं या अपनी खुद की एक कस्टम कुंजी परिभाषित कर सकते हैं। यदि आप किसी नए टूल को पूरी तरह से सेटअप करना चाहते हैं (या किसी प्रसिद्ध टूल का नया जारी किया गया संस्करण) जो ऊपर सूचीबद्ध किसी भी कुंजी को मैप नहीं करता है, तो आप इसे ऊपर सूचीबद्ध किसी भी कुंजी या नए में मैप करने के लिए स्वतंत्र हैं। अपने खुद के कस्टम कुंजी।
क्या होगा यदि आपको एक तुलना टूल सेटअप करना है जो है
या
- एक मौजूदा प्रसिद्ध उपकरण का एक नया संस्करण जारी किया गया है जिसे गिट में किसी भी पूर्व-परिभाषित कुंजी से मैप नहीं किया गया है ?
मेरे मामले की तरह, मैंने तुलना से परे स्थापित किया था 4. परे तुलना करने के लिए एक प्रसिद्ध उपकरण है, लेकिन इसके संस्करण 4 रिलीज को डिफ़ॉल्ट रूप से किसी भी मौजूदा कुंजी से मैप नहीं किया गया है। तो आप नीचे दिए गए किसी भी दृष्टिकोण का अनुसरण कर सकते हैं:
मैं 4 टूल की तुलना में पहले से मौजूद कुंजी से तुलना कर सकता हूं bc3
जो कि 3 संस्करण की तुलना से परे है। मेरे पास अपने कंप्यूटर पर संस्करण 3 की तुलना करने से परे नहीं था, इसलिए मुझे परवाह नहीं थी। अगर मैं चाहता तो मैं इसे उपरोक्त सूची में किसी भी पूर्व-परिभाषित कुंजी में भी मैप कर सकता था examdiff
।
यदि आप पहले से ही मौजूद / अच्छी तरह से ज्ञात कुंजी के लिए अच्छी तरह से ज्ञात टूल के संस्करण को मैप करते हैं, तो आपको दूसरी कमांड को चलाने की आवश्यकता नहीं होगी क्योंकि उनके इंस्टॉल पथ को पहले से ही जाना जाता है ।
उदाहरण के लिए, अगर मैंने अपने बॉक्स पर संस्करण 3 की तुलना से परे स्थापित किया था, तो मेरी .gitconfig
फ़ाइल में कॉन्फ़िगरेशन नीचे होना पर्याप्त होता है:
[diff]
tool = bc3
लेकिन अगर आप डिफॉल्ट संबद्ध टूल को बदलना चाहते हैं तो आप path
विशेषता को अलग से उल्लेख करना चाहते हैं ताकि गिट को उस रास्ते का पता चल जाए जहां से आपको नए टूल का एक्सई लॉन्च करना है। यहाँ प्रविष्टि है जो लोमड़ियों के बजाय 4 की तुलना में लॉन्च करने के लिए पकड़ती है। निर्गमन पथ पर ध्यान दें:
[difftool "bc3"]
path = c:/program files/Beyond Compare 4/bcomp.exe
सबसे साफ दृष्टिकोण नए तुलना उपकरण या एक प्रसिद्ध उपकरण के नए संस्करण के लिए पूरी तरह से एक नई कुंजी को परिभाषित करना है। मेरे मामले की तरह मैंने एक नई कुंजी को परिभाषित किया bc4
ताकि याद रखना आसान हो। ऐसे मामले में आपको दो कमांड चलाने होंगे, लेकिन आपका दूसरा कमांड आपके नए टूल के एक्जीक्यूटेबल का रास्ता तय नहीं करेगा। इसके बजाय आपको cmd
नीचे दिखाए गए अनुसार अपने नए टूल के लिए विशेषता सेट करना होगा :
git config --global diff.tool bc4
git config --global difftool.bc4.cmd "\"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"\$LOCAL\" -d \"\$REMOTE\""
ऊपर दिए गए आदेशों को चलाने से आपकी .gitconfig
फ़ाइल में नीचे प्रविष्टियाँ बनती हैं :
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"
मैं आपको भविष्य में अपने लिए किसी भी भ्रम से बचने के लिए दृष्टिकोण # 2 का पालन करने की दृढ़ता से सलाह दूंगा।