Kaleidoskop untuk git difftool


18

Saya mencoba menggunakan kaleidoskop untuk git difftoolmembandingkan dua cabang.

Jadi saya menginstal ksdiff dan mengaturnya seperti ikuti di.gitconfig

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

saat berlari

git difftool myBranch otherBranch 

Saya Menerima kesalahan cannot use duplicate files within the same file list

Jawaban:


36

Saya menemukan cara untuk mengkonfigurasinya. Dalam Kaleidoscope itu sendiri di bawah menu Kaleidoscope ada tautan yang disebut Integration yang membuka jendela konfigurasi untuk beberapa solusi versi.

Jendela konfigurasi "Integrasi" Kaleidoskop

Setelah menginstal ksdiff mengklik tombol Configure akan menambahkan baris berikut ke .gitconfigfile Anda .

[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

kemudian menjalankan perintah berikut ini akan terbuka berturut-turut setiap file yang berbeda

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Catatan:

  • -yberdiri untuk menghindari meminta untuk bertanya apakah kita ingin menggunakan Kaleidoskop untuk difftool untuk setiap file. Jawaban default adalah "ya".
  • -t Kaleidoscopeada optionnal di sini karena difftool default sudah diatur ke Kaleidoscopedalam .gitconfigfile kami .

1
Dalam kasus saya, saya juga harus menambahkan [merge] tool = Kaleidoscopeke .gitconfig.
stigi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.