2012-06-22 18 views

Trả lời

9

Bạn có thể làm:

git diff branch1...branch2 

(n ote rằng có ba dấu chấm)

... sẽ hiển thị cho bạn tất cả các thay đổi được giới thiệu trên branch2 vì nó được phân tách từ branch1 (hoặc, nói đúng, kể từ khi hợp nhất cơ sở). Việc sử dụng khác nhau của ..... trong git diffgit log, có thể hơi khó hiểu, vì vậy bạn có thể thấy các biểu đồ trong this answer hữu ích.

+0

Xin chào ngài. Câu trả lời hay. Tôi thấy từ hồ sơ theo dõi của bạn rằng tôi đang chơi với các chàng trai lớn cố gắng để cạnh tranh trên git câu trả lời ... :-) –

+0

@ Alex: Vâng, thưa ông! Tôi hy vọng bạn ổn. Vì nó xảy ra, tôi chỉ thỉnh thoảng kiểm tra thẻ git vào lúc này, nhưng nó chắc chắn là một cái tốt để theo dõi –

3

Bạn cần phải tìm các hash của các gốc chung gần nhất của hai chi nhánh, mà bạn sử dụng git merge-base:

git merge-base branch1 branch2 

Sau đó, sau hơn bạn có thể nhận được một bản ghi của các thay đổi từ đó gốc chung của người đứng đầu chi nhánh với git log:

git diff <common base hash>..branch2 
+0

Điều này gần như chính xác. Tôi đã sử dụng 'git diff .. branch2'. thay vì 'git log ...'. Bạn có thể cập nhật câu trả lời của mình không? Sau đó, tôi sẽ đánh dấu nó là chính xác. –

+0

@Vlad. Tất cả đã được làm xong. Mặc dù Mark đã cung cấp một câu trả lời ngắn gọn hơn. Tôi sẽ cho anh ta đánh dấu để thay thế! –

Các vấn đề liên quan