2014-04-12 6 views
5

मुझे this post मिला है जो बताता है कि आप विजुअल स्टूडियो 2013 को गिट में फ़ाइलों की तुलना करते समय बिल्ट-इन डिफ टूल का उपयोग कैसे कर सकते हैं, लेकिन मुझे विपरीत समस्या है। अभी जब मैं गिट Commit Details विंडो में फ़ाइल पर राइट-क्लिक करता हूं और Compare With Previous... VS डिफ़ॉल्ट विजुअल स्टूडियो 2013 तुलना टूल में diff निष्पादित करता है, लेकिन मैं इसे बाहरी diff टूल, विशेष रूप से TortoiseMerge.exe का उपयोग करना चाहता हूं। मैंने इसे अपने सी: \ उपयोगकर्ता \ [मेरा नाम] \। Gitconfig में निर्दिष्ट किया है और यह गिटबैश कंसोल से ठीक से काम करता है, लेकिन विजुअल स्टूडियो इस सेटिंग को अनदेखा करता है और हमेशा इसके अंतर्निर्मित टूल का उपयोग करता है।विजुअल स्टूडियो 2013 में गिट के लिए बाहरी diff टूल का उपयोग कैसे करें?

यह वही है मुझे लगता है कि .gitconfig में है:

[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[diff] 
    guitool = TortoiseMerge 
[difftool "TortoiseMerge"] 
    path = C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe 

मैं भी बनाने के लिए अपने स्थानीय भंडार के .gitconfig जाँच की है यकीन है कि यह इस सेटिंग अधिभावी नहीं किया गया था, और यह किसी भी diff या difftool निर्दिष्ट नहीं करता सेटिंग्स।

मैं भी तरह मेरे .gitconfig में समान सेटिंग्स की कोशिश की है:

[diff] 
    guitool = TortoiseMerge 
[difftool "TortoiseMerge"] 
    cmd = \"C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe\" /base:"$REMOTE" /local:"$MINE" 

लेकिन व्यवहार नहीं बदलता है।

+0

मुझे लगता है कि इस फाइल को रास्ते में अंतरिक्ष की वजह से हो रहा है। 'kdiff' और' tortoiseMerge' को एक नई निर्देशिका में पुनर्स्थापित करने का सुझाव देगा जैसे फ़ाइलपैथ में कोई रिक्त स्थान नहीं है। 'प्रोग्राम फ़ाइलें' फ़ोल्डर के बजाय। –

+0

@mu 無 रिक्त स्थान के बिना फ़ोल्डर पथ पर TortoiseMerge इंस्टॉल करने का प्रयास किया, लेकिन फिर भी वही समस्या है :( – deadlydog

उत्तर

6

विजुअल स्टूडियो diff.tool कॉन्फ़िगरेशन सेटिंग का उपयोग करता है, न कि diff.guitool कॉन्फ़िगरेशन सेटिंग।

प्रयास करें:

[diff] 
    tool = TortoiseMerge 
0

मैं दृश्य स्टूडियो 2012 में हाल ही में एक ही मुद्दा था मैं यहाँ समाधान पोस्ट करेंगे के रूप में यह पहली धागा मैंने पाया खोजते समय है।

मेरे .gitconfig फ़ाइल इस तरह देखा:

[merge] 
    tool = kdiff3 
[diff] 
    tool = kdiff3 
[difftool] 
    prompt = true 

[difftool "kdiff3"] 
    path = "C:/Program Files/KDiff3/kdiff3.exe" 
    keepBackup = false 
    trustExitCode = true 
[mergetool] 
    prompt = true 

[mergetool "kdiff3"] 
    cmd = "C:/Program Files/KDiff3/kdiff3.exe" $BASE $LOCAL $REMOTE -o $MERGED 
    keepBackup = false 
    trustExitCode = true 

[mergetool "vsdiffmerge"] 
    cmd = "C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsdiffmerge.exe" /m $REMOTE $LOCAL $BASE $MERGED 
    keepbackup = false 
    trustexistcode = true 

समस्या config वर्गों के बीच नई-पंक्तियों था।

इस फ़ाइल को बदलने सही ढंग से काम किया:

[merge] 
    tool = kdiff3 
[diff] 
    tool = kdiff3 
[difftool] 
    prompt = true 
[difftool "kdiff3"] 
    path = "C:/Program Files/KDiff3/kdiff3.exe" 
    keepBackup = false 
    trustExitCode = true 
[mergetool] 
    prompt = true 
[mergetool "kdiff3"] 
    cmd = "C:/Program Files/KDiff3/kdiff3.exe" $BASE $LOCAL $REMOTE -o $MERGED 
    keepBackup = false 
    trustExitCode = true 
[mergetool "vsdiffmerge"] 
    cmd = "C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsdiffmerge.exe" /m $REMOTE $LOCAL $BASE $MERGED 
    keepbackup = false 
    trustexistcode = true 
संबंधित मुद्दे