Đầu ra của bất kỳ lệnh 'git diff' nào có thể được hiển thị trong một công cụ GUI sử dụng lệnh 'git difftool'.
Thứ nhất, 'diff' lệnh chúng ta muốn: Hiển thị các diffs tích lũy được giới thiệu bởi mỗi cam kết về 'mybranch' vì nó tách ra từ 'thầy' sử dụng:
git diff master...mybranch
hoặc
git diff master...HEAD
Lưu ý rằng điều này không bao gồm bất kỳ cam kết nào đã xảy ra trên trang chủ trong thời gian chờ đợi, đó có thể là những gì bạn muốn nếu bạn đang xem xét mybranch.
Nếu mybranch là người đứng đầu hiện tại của bạn, thì đây có thể được viết tắt:
git diff master...
Git sẽ ăn đầu ra từ lệnh diff thành một trong những danh sách khoảng tám công cụ GUI được biết đến, sử dụng 'git difftool'. Tôi sử dụng kdiff3 trên OSX, và trong quá khứ tôi đã sử dụng nó một cách hạnh phúc trên Linux. Tôi thích kdiff3 bởi vì nó cho phép tôi thực hiện các phép trộn 3 chiều khi được yêu cầu, và nó cho phép tôi chỉnh sửa đầu ra của việc hợp nhất theo cách thủ công cũng như chỉ chọn các khối để sử dụng.
Cài đặt kdiff3 đầu tiên, sau đó thêm liên kết tượng trưng vào nó trên PATH của bạn. Đối với tôi, đó là:
ln -s /Applications/kdiff3.app/Contents/MacOS/kdiff3 /usr/local/bin/kdiff3
Sau đó nói với git mà bạn muốn sử dụng KDiff3 như công cụ diff GUI của bạn:
git config --global merge.tool kdiff3
Sau đó xem diffs của bạn trong đó:
git difftool master...
Nguồn
2012-08-21 10:25:29
tôi nghi ngờ rằng bạn không cần hiển thị sự khác biệt giữa hai nhánh, bởi vì nếu có nhiều cam kết hơn được thực hiện trên tổng thể giữa việc hợp nhất và xem xét, bạn muốn chúng bị loại trừ. Có lẽ tốt hơn là chỉ hiển thị các thay đổi được giới thiệu trên chi nhánh của bạn, không bao gồm bất kỳ thay đổi nào được giới thiệu trên chính. Sau đó, bạn có thể hợp nhất bất kỳ lúc nào, thay vì phải thực hiện ngay trước khi xem xét. –