ฉันประสบความสำเร็จในการทำให้คอมไพล์เริ่ม Beyond Compare 3 เป็นเครื่องมือที่แตกต่างอย่างไรก็ตามเมื่อฉันทำแตกต่างไฟล์ที่ฉันกำลังเปรียบเทียบจะไม่ถูกโหลด โหลดเฉพาะไฟล์เวอร์ชันล่าสุดและไม่มีอะไรอื่นดังนั้นจึงไม่มีอะไรในบานหน้าต่างด้านขวาของ Beyond Compare
ฉันใช้งานคอมไพล์ 1.6.3.1 ด้วย Cygwin ด้วย Beyond Compare 3 ฉันได้ตั้งค่าเกินกว่าที่จะเปรียบเทียบตามที่พวกเขาแนะนำในส่วนการสนับสนุนของเว็บไซต์ด้วยสคริปต์เช่นนี้:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
มีใครพบปัญหานี้และทราบวิธีแก้ปัญหานี้หรือไม่?
แก้ไข:
ฉันทำตามคำแนะนำของ VonC แล้ว แต่ฉันยังคงมีปัญหาเหมือนเดิมทุกประการ ฉันยังใหม่กับ Git ดังนั้นบางทีฉันอาจใช้ความแตกต่างไม่ถูกต้อง
ตัวอย่างเช่นฉันกำลังพยายามดูความแตกต่างของไฟล์ด้วยคำสั่งเช่น
git diff main.css
นอกเหนือจากการเปรียบเทียบจะเปิดขึ้นและแสดงเฉพาะ main.css ปัจจุบันของฉันในบานหน้าต่างด้านซ้ายไม่มีอะไรในบานหน้าต่างด้านขวา ฉันต้องการดู main.css ปัจจุบันของฉันในบานหน้าต่างด้านซ้ายเทียบกับ HEAD โดยพื้นฐานแล้วสิ่งที่ฉันได้ทำไว้ล่าสุด
git-diff-wrapper.sh ของฉันมีลักษณะดังนี้:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
git config ของฉันดูเหมือนสิ่งนี้สำหรับ Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
/c/program files
แทนc:/program files
. นอกจากนี้ผมออกและใช้เพียง"$(cygpath -w $LOCAL)"
"$LOCAL"
นั่นดูเหมือนจะทำเคล็ดลับ