Kính vạn hoa cho git Difftool


18

Tôi đã thử sử dụng kính vạn hoa git difftoolđể so sánh hai nhánh.

Vì vậy, tôi đã cài đặt ksdiff và giải quyết nó như theo trong.gitconfig

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

khi chạy

git difftool myBranch otherBranch 

Tôi nhận được lỗi cannot use duplicate files within the same file list

Câu trả lời:


36

Tôi tìm thấy một cách để cấu hình nó. Trong chính Kính vạn hoa trong menu Kính vạn hoa có một liên kết gọi là Tích hợp mở ra một cửa sổ cấu hình cho một số giải pháp phiên bản.

Cửa sổ cấu hình "Tích hợp" Kính vạn hoa

Sau khi cài đặt ksdiff, nhấp vào nút Configure sẽ thêm các dòng sau vào .gitconfigtệp của bạn .

[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

sau đó chạy lệnh sau sẽ mở liên tiếp từng tệp khác nhau

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Ghi chú:

  • -ylà để tránh nhắc nhở nếu chúng ta muốn sử dụng Kính vạn hoa cho Difftool cho mỗi tệp. Câu trả lời mặc định là "có".
  • -t Kaleidoscopelà tùy chọn ở đây vì Difftool mặc định đã được đặt thành Kaleidoscopetrong .gitconfigtệp của chúng tôi .

1
Trong trường hợp của tôi, tôi cũng phải thêm [merge] tool = Kaleidoscopevào .gitconfig.
stigi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.