Git difftool için kaleydoskop


18

git difftoolİki dalı karşılaştırmak için kaleydoskop kullanmayı denedim .

Bu yüzden ksdiff'i yükledim ve aşağıdaki gibi takip ettim.gitconfig

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

koşarken

git difftool myBranch otherBranch 

Hatayı alıyorum cannot use duplicate files within the same file list

Yanıtlar:


36

Yapılandırmanın bir yolunu buldum. Kaleydoskop'un kendisinde Kaleydoskop menüsü altında , birçok sürüm çözümü için bir yapılandırma penceresi açan Entegrasyon adı verilen bir bağlantı vardır .

Kaleydoskop "Entegrasyon" yapılandırma penceresi

Ksdiff kurduktan sonra Yapılandır düğmesine tıklamak aşağıdaki satırları .gitconfigdosyanıza ekleyecektir .

[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

ardından aşağıdaki komutu çalıştırmak her farklı dosyayı art arda açar

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Notlar:

  • -yher dosya için difftool için Kaleidoscope kullanmak isteyip istemediğimizi sormaktan kaçınmak anlamına gelir. Varsayılan cevap "evet" tir.
  • -t KaleidoscopeVarsayılan difftool zaten ayarlandığında burada -Optionnal olan Kaleidoscopebizim de .gitconfigdosyaya.

1
Benim durumumda da eklemek [merge] tool = Kaleidoscopezorunda kaldım .gitconfig.
stigi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.