ทำซ้ำคำตอบของฉันจากชุดข้อความนี้ซึ่งมีความเฉพาะเจาะจงมากขึ้นในการตั้งค่ามากกว่าการเปรียบเทียบเป็นเครื่องมือ diff สำหรับ Git รายละเอียดทั้งหมดที่ฉันแบ่งปันมีประโยชน์เท่าเทียมกันสำหรับเครื่องมือ diff ทั่วไปดังนั้นการแบ่งปันที่นี่:
คำสั่งแรกที่เราเรียกใช้มีดังนี้:
git config --global diff.tool bc3
คำสั่งดังกล่าวสร้างรายการด้านล่างที่.gitconfig
พบใน%userprofile%
ไดเรกทอรี:
[diff]
tool = bc3
จากนั้นคุณเรียกใช้คำสั่งด้านล่าง (การเรียกใช้คำสั่งนี้ซ้ำซ้อนในกรณีนี้โดยเฉพาะและจำเป็นต้องใช้ในบางกรณีเท่านั้นคุณจะรู้ได้ในเวลาสั้น ๆ ):
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"
คำสั่งด้านบนสร้างรายการด้านล่างใน.gitconfig
ไฟล์:
[difftool "bc3"]
path = c:/program files/Beyond Compare 3/bcomp.exe
bc3
สิ่งที่ต้องรู้ว่าที่นี่เป็นกุญแจสำคัญ นี่เป็นกุญแจสำคัญที่รู้จักกันดีในการใช้คอมไพล์กับเครื่องมือเปรียบเทียบรุ่นที่รู้จักกันดีในตลาด ( bc3
ตรงกับเครื่องมือ Beyond Compare รุ่นที่ 3) หากคุณต้องการที่จะเห็นกุญแจที่กำหนดไว้ล่วงหน้าทั้งหมดเพียงแค่เรียกใช้git difftool --tool-help
คำสั่งกับทุบตี Git ส่งคืนรายการด้านล่าง:
vimdiff
vimdiff2
vimdiff3
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff
คุณสามารถใช้ปุ่มใด ๆ ข้างต้นหรือกำหนดคีย์แบบกำหนดเองของคุณเอง หากคุณต้องการตั้งค่าเครื่องมือใหม่ทั้งหมด (หรือเครื่องมือที่รู้จักกันดีรุ่นใหม่ที่ออกวางจำหน่าย) ซึ่งไม่ได้แมปกับคีย์ใด ๆ ที่ระบุไว้ข้างต้นคุณสามารถแมปกับคีย์ใด ๆ ที่ระบุไว้ด้านบนหรือใหม่รหัสที่กำหนดเองของคุณเอง
ถ้าคุณต้องตั้งค่าเครื่องมือเปรียบเทียบซึ่งก็คือ
หรือ
- รุ่นใหม่ของเครื่องมือที่รู้จักกันดีได้เปิดตัวแล้วซึ่งไม่ได้แมปกับคีย์ที่กำหนดไว้ล่วงหน้าในคอมไพล์ ?
เช่นเดียวกับในกรณีของฉันฉันได้ติดตั้งการเปรียบเทียบเกินกว่าการเปรียบเทียบ 4 เป็นเครื่องมือที่รู้จักกันดีในการคอมไพล์ แต่รุ่นที่วางจำหน่าย 4 ไม่ได้แมปกับคีย์ที่มีอยู่โดยค่าเริ่มต้น ดังนั้นคุณสามารถทำตามวิธีการด้านล่าง:
ฉันสามารถแมปเกินกว่าเครื่องมือ 4 เปรียบเทียบกับคีย์ที่มีอยู่แล้วbc3
ซึ่งสอดคล้องกับเกิน 3 รุ่นเปรียบเทียบ ฉันไม่ได้เปรียบเทียบรุ่น 3 บนคอมพิวเตอร์ของฉันดังนั้นฉันจึงไม่สนใจ หากฉันต้องการฉันสามารถแมปไปยังปุ่มใด ๆ ที่กำหนดไว้ล่วงหน้าในรายการด้านบนได้เช่นexamdiff
กัน
หากคุณจับคู่เครื่องมือเวอร์ชันที่รู้จักกันดีกับคีย์ที่มีอยู่แล้ว / ที่รู้จักกันดีอยู่แล้วคุณไม่จำเป็นต้องเรียกใช้คำสั่งที่สองเนื่องจากเส้นทางการติดตั้งของพวกเขารู้จัก gitแล้ว
เช่นถ้าฉันติดตั้งนอกเหนือจากการเปรียบเทียบเวอร์ชัน 3 ในกล่องของฉันแล้วการกำหนดค่าด้านล่างใน.gitconfig
ไฟล์ของฉันจะเพียงพอที่จะไป:
[diff]
tool = bc3
แต่ถ้าคุณต้องการเปลี่ยนเครื่องมือเริ่มต้นที่เกี่ยวข้องคุณต้องเอ่ยถึงpath
คุณลักษณะแยกต่างหากเพื่อให้ git รู้จักเส้นทางจากที่ซึ่ง exe ใหม่ของเครื่องมือได้เปิดตัว นี่คือรายการที่สุนัขจิ้งจอกคอมไพล์ที่จะเปิดตัวเกินเปรียบเทียบ 4 แทน บันทึกเส้นทางของ exe:
[difftool "bc3"]
path = c:/program files/Beyond Compare 4/bcomp.exe
วิธีที่สะอาดที่สุดส่วนใหญ่คือการกำหนดคีย์ใหม่ทั้งหมดสำหรับเครื่องมือเปรียบเทียบใหม่หรือรุ่นใหม่ของเครื่องมือที่รู้จักกันดี เช่นเดียวกับในกรณีของฉันฉันกำหนดคีย์ใหม่bc4
เพื่อให้จดจำได้ง่าย ในกรณีเช่นนี้คุณต้องเรียกใช้สองคำสั่งทั้งหมด แต่คำสั่งที่สองของคุณจะไม่ได้รับการตั้งค่าเส้นทางของปฏิบัติการใหม่ของเครื่องมือของคุณ แต่คุณต้องตั้งค่าcmd
แอตทริบิวต์สำหรับเครื่องมือใหม่ของคุณดังที่แสดงด้านล่าง:
git config --global diff.tool bc4
git config --global difftool.bc4.cmd "\"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"\$LOCAL\" -d \"\$REMOTE\""
การรันคำสั่งด้านบนจะสร้างรายการด้านล่างใน.gitconfig
ไฟล์ของคุณ:
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"
ฉันขอแนะนำให้คุณปฏิบัติตามแนวทาง # 2 เพื่อหลีกเลี่ยงความสับสนในอนาคต