Git difftool के लिए बहुरूपदर्शक


18

मैंने git difftoolदो शाखाओं की तुलना करने के लिए बहुरूपदर्शक का उपयोग करने की कोशिश की ।

इसलिए मैंने ksdiff स्थापित किया और इसे अपने अनुसरण में व्यवस्थित किया.gitconfig

 [diff]
     tool = kaleidoscope
 [difftool "kaleidoscope"]
     cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")

जब चल रहा है

git difftool myBranch otherBranch 

मैं त्रुटि प्राप्त करता हूं cannot use duplicate files within the same file list

जवाबों:


36

मुझे इसे कॉन्फ़िगर करने का एक तरीका मिला। कैलिडोस्कोप मेनू के तहत कैलीडोस्कोप में ही इंटीग्रेशन नामक एक लिंक है जो कई वर्जनिंग सॉल्यूशंस के लिए एक कॉन्फ़िगरेशन विंडो खोलता है।

बहुरूपदर्शक "एकीकरण" विन्यास खिड़की

कॉन्फ़िगर बटन पर क्लिक करने के बाद ksdiff स्थापित करने के बाद आपकी फ़ाइल में निम्न पंक्तियाँ होंगी ।.gitconfig

[diff]
    tool = Kaleidoscope
[difftool "Kaleidoscope"]
  cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = Kaleidoscope
[mergetool "Kaleidoscope"]
  cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
  trustExitCode = true

फिर निम्न कमांड को चलाने से प्रत्येक अलग फाइल खुल जाएगी

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

टिप्पणियाँ:

  • -yयह पूछने के लिए संकेत देने से बचने के लिए कि क्या हम प्रत्येक फ़ाइल के लिए अलग-अलग फाइल के लिए Kaleidoscope का उपयोग करना चाहते हैं। डिफ़ॉल्ट उत्तर "हां" है।
  • -t Kaleidoscopeयहाँ विकल्प के रूप में डिफ़ॉल्ट डिफ़ाल्टूल पहले से ही Kaleidoscopeहमारी .gitconfigफ़ाइल में सेट है ।

1
मेरे मामले में मैं भी जोड़ने के लिए किया था [merge] tool = Kaleidoscopeमेरे लिए .gitconfig
स्टिगी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.