Kaleidoscope สำหรับคอมไพล์โฟลตติ้ง


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

ฉันพบวิธีการกำหนดค่า ในคาเลโดสโคปเองภายใต้เมนูคาเลโดสโคปมีลิงค์ที่เรียกว่าการรวมซึ่งเปิดหน้าต่างการกำหนดค่าสำหรับโซลูชันการกำหนดเวอร์ชันหลายอย่าง

หน้าต่างการกำหนดค่า "รวม" Kaleidoscope

หลังจากติดตั้ง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 สำหรับ difftool สำหรับแต่ละไฟล์หรือไม่ คำตอบเริ่มต้นคือ "ใช่"
  • -t Kaleidoscopeเป็นตัวเลือกที่นี่เนื่องจากค่าเริ่มต้น difftool ถูกตั้งค่าเป็นไฟล์Kaleidoscopeของเรา.gitconfigแล้ว

1
ในกรณีของฉันฉันต้องเพิ่มลง[merge] tool = Kaleidoscopeในของฉัน.gitconfigด้วย
stigi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.