เครื่องมือผสานภาพที่ดี (ฟรี) สำหรับ Git คืออะไร (บน windows) [ปิด]


154

คำถามที่คล้ายกันก็ถามอยู่แล้ว แต่สำหรับอูบุนตู

มันจะช่วยให้ทราบว่าเครื่องมือฟรีในเบียร์หรือเป็นอิสระ

นอกจากนี้เครื่องมือขึ้นและลงจะดีที่จะรู้

คำตอบ:


73

บน Windows เครื่องมือ diff / merge แบบ 3 ทางที่ดียังคงเป็นkdiff3 ( WinMergeสำหรับตอนนี้ยังคงเป็นแบบสองทางซึ่งอยู่ระหว่างดำเนินการ WinMerge3)

โปรดดูที่ " คุณจะทำอย่างไรในการผสาน GIT ใน Windows? " และการตั้งค่านี้


อัพเดท 7 ปีต่อมา (ส.ค. 2018): Artur Kędziorกล่าวถึงในความคิดเห็น :

ถ้าพวกคุณเกิดขึ้นที่จะใช้Visual Studio (Community Edition ฟรี) vsDiffMerge.exeลองใช้เครื่องมือที่มาพร้อมกับมัน มันยอดเยี่ยมมากและใช้งานง่าย


1
เห็นด้วยกับความนิยม BC ฉันจะลองใช้เครื่องมือนี้ดู
Preet Sangha

3
@Preet: BC ยังคงดีที่สุด;) แต่สำหรับเครื่องมือฟรี (หลายแพลตฟอร์มในนั้น) kdiff3 นั้นไม่เลวเลย
VonC

แต่มันก็ไม่ได้ผลดีเช่นกัน :) ฉันมักจะพบว่าใช้ตัวแก้ไขรหัสปกติได้ง่ายขึ้น
Warpzit

1
@ Warpzit ฉันเห็นด้วยมีช่วงโค้งของการเรียนรู้ แต่ตอนนี้ฉันคุ้นเคยกับมันแล้ว)
VonC

1
@ ArturKędziorขอบคุณ ฉันได้รวมความคิดเห็นของคุณไว้ในคำตอบเพื่อให้มองเห็นได้ชัดเจนขึ้น
VonC

72

ผมยังใช้Meld มันเขียนด้วยภาษาไพ ธ อน มีตัวติดตั้งอย่างเป็นทางการสำหรับ Windows ที่ทำงานได้ดี

ติดตั้งแล้วตั้งเป็น mergetool เริ่มต้นของคุณ

$ git config --global merge.tool "meld"
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"

หากใช้ไคลเอนต์ GUI GIT ให้ลองทำดังต่อไปนี้ (คำแนะนำสำหรับ SourceTree ปรับให้สอดคล้อง)

  • ใน SourceTree ให้ไปที่เครื่องมือ / ตัวเลือก / ส่วนต่าง
  • ในExternal Diff Toolเลือกกำหนดเอง
  • ป้อนC:\Program Files (x86)\Meld\meld.exeในคำสั่ง Diff และ$LOCAL $REMOTEในอาร์กิวเมนต์
  • ในMerge Toolเลือกกำหนดเอง
  • ป้อนC:\Program Files (x86)\Meld\meld.exeในคำสั่ง Diff และ$LOCAL $MERGED $REMOTEในอาร์กิวเมนต์

9
ขอบคุณ Meld เป็นคนดีจริง ๆ :) มันชัดเจนและง่ายต่อการดูว่าเกิดอะไรขึ้น ขอบคุณสำหรับการโพสต์คำแนะนำการติดตั้ง ฉันคงจะหลงทางถ้าไม่มีพวกนั้น
Daniel Tonon

5
หากคุณใช้ cygwin / babun ให้แทนที่ตัวเลือกที่ 2 ด้วย:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
tempestSA

1
+1 สำหรับการกำหนดค่า git ฉันใช้กับ P4Merge ด้านล่าง:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
ทำเครื่องหมาย C

@Gordolio มี UI "แบบง่าย" หรือ "ความละเอียดต่ำ" สำหรับหลอมรวมหรือไม่ กราฟิกสวยเกินไปเล็กน้อยซึ่งเต็มไปด้วยไฟล์ขนาดใหญ่
Pacerier

1
ฉันลอง Meld และมันก็ดีด้วยภาพที่สวยงามบางส่วน แต่ในท้ายที่สุดก็มีชื่อว่า Beyond Compare ด้วยการจ่ายเงินและมีความสุขมาก หนึ่งลบ Meld คือปุ่มไม่ได้ให้คำอธิบายการวางเมาส์ อื่น ๆ - เปรียบเทียบแบบเปรียบเทียบให้ปุ่มเพื่อย้ายจากความแตกต่างหนึ่งไปสู่อีก Another - Beyond Compare แสดงพา ธ ไฟล์ในแถบหัวเรื่องหน้าต่าง Meld แน่นอนว่า "ดีพอ" แต่ฉันอยากจ่ายมากกว่าที่จะเปรียบเทียบ (และฉันไม่มีส่วนเกี่ยวข้องกับ Beyond Compare)
Stephen Hosking

28

ฉันใช้P4Mergeแล้วมันฟรีและข้ามแพลตฟอร์ม

P4Merge


1
นี่ยังว่างหรือไม่ ดูเหมือนจะไม่ฟรีเลย
null_pointer

4
ใช่ยังฟรี 100% แต่หน้าดาวน์โหลดจะซ่อนไว้เล็กน้อย
Daniel Little

8
มันฟรีตามที่ Daniel พูด แต่เมื่อคุณรันโปรแกรมติดตั้งคุณต้องปิดการใช้งานตัวเลือกทั้งหมดยกเว้น "Visual Merge Tool" มิฉะนั้นจะแจ้งให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ Perforce ใช้งานได้ดีกับ SourceTree
John

11
เมื่อติดตั้งแล้วให้กำหนดค่าเป็น mergetool โดยใช้:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
ทำเครื่องหมาย C

1
การพยายามหาวิธีดาวน์โหลด p4merge รุ่น windows โดยใช้ลิงก์ของคุณนั้นค่อนข้างเป็นงาน ไม่มีลิงค์ดาวน์โหลดที่ชัดเจนที่ฉันเห็น
Artif3x

25

ผมไม่ทราบว่าดีเครื่องมือฟรี แต่WinMerge เป็น ok (ish) ฉันใช้เครื่องมือเปรียบเทียบที่เปรียบเทียบมาตั้งแต่ปี 2542 และไม่สามารถให้คะแนนได้เพียงพอ - มีค่าใช้จ่ายประมาณ 50 USD และการลงทุนนี้จ่ายเพื่อประหยัดเวลาด้วยตัวเองมากกว่าที่ฉันจะจินตนาการได้

บางครั้งควรมีการจ่ายเงินค่าเครื่องมือหากทำได้ดีมาก


5
+1 สำหรับการพูดถึงตัวเลือกการชำระเงิน
eckes

1
winmerge เป็นหมัด UI ทำให้ยากที่จะบอกทางซ้ายจากด้านขวา
Pacerier

1
ฉันใช้ WinMerge มาหลายปีแล้วและคิดว่ามันยอดเยี่ยม จากนั้นฉันเปลี่ยนเป็น git สำหรับการควบคุมเวอร์ชันและต้องการ GUI สำหรับการเปรียบเทียบเวอร์ชัน ครั้งแรกที่ฉันลองใช้ Meld และพบว่ามันดี แต่ขาดคุณสมบัติ นอกเหนือจากการเปรียบเทียบได้แก้ไขให้ฉันแล้วและฉันยินดีที่จะจ่ายให้
Stephen Hosking

16
  • TortoiseMerge (ส่วนหนึ่งของ ToroiseSVN) ดีกว่า kdiff3 (ฉันใช้ทั้งคู่และสามารถเปรียบเทียบได้ );
  • p4merge (จาก Perforce) ก็ใช้ได้ดีเช่นกัน
  • การกระจายไม่เลว
  • Diffmerge จาก SourceGear มีข้อบกพร่องเพียงข้อเดียวในการจัดการไฟล์ UTF8 ที่ไม่มี BOM ทำให้ไม่สามารถใช้งานได้ในกรณีนี้

TortoiseGitMerge ค่อนข้างดีจริง ๆ - ฉันไม่รู้ kdiff3 แต่ไม่เคยมีความสุขหรือไม่ได้พลาดอะไรเลยใน TortoiseGitMerge มันช่วยให้ฉันทำการผสานทั้งสองและสามทางได้อย่างรวดเร็วและอย่างสังหรณ์ใจ
mindplay.dk

@ mindplay.dk - TortoiseGitMerge คือ (ส่วนใหญ่) ol 'Tortoise ที่ดีการรวมกันภายใต้ประทุน
Lazy Badger

TortoiseMerge ไม่รองรับ dir-diff
andrew.rockwell

1

อีกตัวเลือกฟรีคือ jmeld: http://keeskuip.home.xs4all.nl/jmeld/

มันเป็นเครื่องมือ java และสามารถใช้กับหลายแพลตฟอร์มได้

แต่ (ตามที่กล่าวไว้ล่วงหน้าในคำตอบของเขา) ฟรีไม่ได้เป็นตัวเลือกที่ดีที่สุดเสมอไป เครื่องมือ diff / ผสานที่ดีที่สุดที่ผมเคยมาข้ามเป็นAraxis ผสาน Standard edition มีราคา 99 EUR ซึ่งไม่มากเท่าไหร่

พวกเขายังให้เอกสารสำหรับวิธีการรวม Araxis กับ msysGit

หากคุณต้องการติดตั้งเครื่องมือฟรีJMeldก็ใกล้เคียงกับ Araxis มากทีเดียว


ฉันเคยได้ยินสิ่งที่ดีมากมายเกี่ยวกับ Araxis เช่นกัน
Preet Sangha

-1

เกิดอะไรขึ้นกับการใช้ Git สำหรับ Windows จากมุมมอง repo มีไอคอนของสาขาที่คุณอยู่ (ที่ด้านบน) และถ้าคุณคลิกที่จัดการคุณสามารถลากและวางในลักษณะที่มองเห็นได้และสะดวกมาก


7
ฉันคิดว่าคำถามเกี่ยวกับการแก้ไขข้อขัดแย้งผสาน
Leif Gruenwoldt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.