Công cụ hợp nhất trực quan (miễn phí) nào tốt cho Git? (trên cửa sổ) [đã đóng]


154

Một câu hỏi tương tự đã được hỏi, nhưng đối với Ubuntu.

Nó sẽ giúp để biết liệu công cụ này là miễn phí như trong bia hoặc như trong tự do.

Ngoài ra, lên và xuống của công cụ sẽ là tốt đẹp để biết.

Câu trả lời:


72

Trên Windows, một công cụ khác biệt / hợp nhất 3 chiều vẫn là kdiff3 ( WinMerge , hiện tại, vẫn là WinMerge3 dựa trên 2 chiều, đang chờ xử lý)

Xem " Làm thế nào để bạn hợp nhất trong GIT trên Windows? " Và cấu hình này .


Cập nhật 7 năm sau (tháng 8 năm 2018): Artur Kędzior đề cập trong các bình luận :

Nếu các bạn tình cờ sử dụng Visual Studio (Community Edition là miễn phí), hãy thử công cụ được cung cấp cùng với nó : vsDiffMerge.exe. Nó thực sự tuyệt vời và dễ sử dụng.


1
Không ủng hộ BC, tôi sẽ kiểm tra công cụ này.
Tăng trước

3
@Preet: BC vẫn là tốt nhất;) Nhưng đối với một công cụ miễn phí (đa nền tảng tại đó), kdiff3 không tệ.
VonC

nhưng chắc chắn nó cũng không tốt lắm :) Tôi có xu hướng thấy việc sử dụng trình soạn thảo mã thông thường của mình dễ dàng hơn.
Warpzit

1
@Warpzit Tôi đồng ý có một chút về đường cong học tập, nhưng tôi đã quen với nó bây giờ;)
VonC

1
@ ArturKędzior Cảm ơn bạn. Tôi đã bao gồm nhận xét của bạn trong câu trả lời để dễ nhìn hơn.
VonC

72

Tôi cũng đã sử dụng Meld . Nó được viết bằng trăn. Có một trình cài đặt chính thức cho Windows hoạt động tốt.

Cài đặt nó và sau đó đặt nó làm mergetool mặc định của bạn.

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

Nếu sử dụng máy khách GUI GIT, hãy thử các cách sau (hướng dẫn cho SourceTree, điều chỉnh cho phù hợp)

  • Trong SourceTree, đi đến Công cụ / Tùy chọn / Khác
  • Trong External Diff Tool, chọn Tùy chỉnh
  • Nhập C:\Program Files (x86)\Meld\meld.exevào lệnh Diff và $LOCAL $REMOTEtrong đối số
  • Trong Merge Tool, chọn Tùy chỉnh
  • Nhập C:\Program Files (x86)\Meld\meld.exevào lệnh Diff và $LOCAL $MERGED $REMOTEtrong đối số

9
Cảm ơn, Meld thực sự rất tốt :) Thật rõ ràng và dễ dàng để xem những gì đang xảy ra. Cảm ơn đã đăng hướng dẫn cài đặt. Tôi sẽ bị mất nếu không có những thứ đó.
Daniel Tonon

5
Nếu bạn đang sử dụng cygwin / babun, hãy thay thế tùy chọn thứ 2 bằng:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
tempestSA

1
+1 cho cấu hình git, tôi đã sử dụng nó với P4Merge bên dưới:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Mark C

@Gordolio, Có giao diện người dùng "đơn giản" hoặc "độ phân giải thấp" cho meld không? Đồ họa là một chút quá đẹp mà hoàn toàn nghẹt thở trên các tập tin lớn.
Pacerier

1
Tôi đã thử Meld và nó rất tốt, với một số hình ảnh đẹp, nhưng cuối cùng đã đi đến Beyond So sánh, với tiền lương, và đã rất hạnh phúc. Một điểm trừ của Meld là các nút không đưa ra mô tả di chuột. Khác - Beyond So sánh cung cấp các nút để chuyển từ sự khác biệt này sang sự khác biệt. Khác - Beyond So sánh hiển thị đường dẫn tệp trong thanh tiêu đề cửa sổ. Meld chắc chắn là "Đủ tốt", nhưng tôi muốn trả tiền cho Beyond So sánh. (Và tôi không có liên kết với Beyond So sánh).
Stephen Hosking

28

Tôi đã sử dụng P4Merge , nó miễn phí và đa nền tảng.

P4Merge


1
Điều này vẫn còn miễn phí? Nó dường như không miễn phí chút nào.
null_pulum

4
Có, vẫn miễn phí 100%, nhưng trang tải xuống của họ che giấu nó một chút.
Daniel Little

8
Nó miễn phí như Daniel đã nói nhưng khi bạn chạy trình cài đặt, bạn cần phải tắt tất cả các tùy chọn ngoại trừ "Công cụ hợp nhất trực quan". Nếu không, nó sẽ nhắc bạn kết nối với máy chủ Perforce. Hoạt động tuyệt vời với SourceTree.
Giăng

11
Sau khi cài đặt cấu hình dưới dạng mergetool bằng cách sử dụng:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Đánh dấu C

1
Cố gắng tìm ra cách tải xuống phiên bản windows của p4merge bằng liên kết của bạn có vẻ khá là một nhiệm vụ. Không có liên kết tải xuống rõ ràng mà tôi có thể nhìn thấy.
Artif3x

25

Tôi không biết một công cụ miễn phí tốt nhưng winmerge vẫn ổn (ish) . Tôi đã sử dụng các công cụ so sánh từ năm 1999 và không thể đánh giá nó đủ - nó có giá khoảng 50 USD và khoản đầu tư này đã tự trả cho nó tiết kiệm thời gian nhiều hơn tôi có thể tưởng tượng.

Đôi khi các công cụ nên được trả tiền nếu chúng rất rất tốt.


5
+1 để đề cập đến các tùy chọn trả phí.
eckes

1
winmerge là tệ hại. Giao diện người dùng làm cho khó có thể nói bên trái từ bên phải.
Pacerier

1
Tôi đã sử dụng WinMerge trong nhiều năm và nghĩ rằng nó thật tuyệt. Sau đó, tôi chuyển sang git để kiểm soát phiên bản và cần một GUI để so sánh phiên bản. Đầu tiên tôi đã thử Meld và thấy nó tốt, nhưng thiếu tính năng. Beyond So sánh đã giải quyết nó cho tôi, và tôi khá vui khi trả tiền cho nó.
Stephen Hosking

16
  • TortoiseMerge (một phần của ToroirSVN) tốt hơn nhiều so với kdiff3 (tôi sử dụng cả hai và có thể so sánh );
  • p4merge (từ Perforce) hoạt động rất tốt;
  • Khuếch tán không quá tệ;
  • Diffmerge từ SourceGear chỉ có một lỗ hổng trong việc xử lý các tệp UTF8 mà không có BOM, khiến cho trường hợp này không thể sử dụng được.

TortoiseGitMerge thực sự khá tốt - Tôi không biết kdiff3, nhưng chưa bao giờ không hài lòng hoặc bỏ lỡ bất cứ điều gì trong TortoiseGitMerge, nó cho phép tôi thực hiện kết hợp cả hai và ba cách rất nhanh và trực quan.
mindplay.dk

@ mindplay.dk - TortoiseGitMerge là (chủ yếu) ol' TortoiseMerge tốt dưới mui xe
Lazy Badger

TortoiseMerge không hỗ trợ dir-diff
andrew.rockwell

1

Một tùy chọn miễn phí khác là jmeld: http://keeskuip.home.xs4all.nl/jmeld/

Đây là một công cụ java và do đó có thể được sử dụng trên một số nền tảng.

Nhưng (như Preet đã đề cập trong câu trả lời của mình), miễn phí không phải lúc nào cũng là lựa chọn tốt nhất. Công cụ tìm / hợp nhất tốt nhất tôi từng gặp là Araxis Merge . Phiên bản tiêu chuẩn có sẵn với giá 99 EUR không nhiều.

Họ cũng cung cấp một tài liệu về cách tích hợp Araxis với msysGit.

Nếu bạn muốn gắn bó với một công cụ miễn phí, JMeld đến khá gần với Araxis.


Tôi cũng đã nghe nhiều điều hay về Araxis.
Preet Sangha

-1

Có gì sai khi sử dụng Git cho Windows? Từ chế độ xem repo, có một biểu tượng của chi nhánh bạn đang ở (ở trên cùng) và nếu bạn nhấp vào quản lý, bạn có thể kéo và thả theo cách rất trực quan và thuận tiện.


7
Tôi nghĩ rằng câu hỏi là về việc giải quyết xung đột hợp nhất.
Leif Gruenwoldt
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.