Câu hỏi So sánh hai chi nhánh trong Git? [bản sao]


Câu hỏi này đã có câu trả lời ở đây:

Tôi có hai chi nhánh, branch_1 và branch_2.

Tôi muốn thấy sự khác biệt giữa hai nhánh trong Git.


1556
2018-03-23 05:47


gốc


Bạn muốn một cái gì đó khác với đơn giản git diff branch_1 branch_2? (Lưu ý, nếu tên branch_1 và branch_2 cũng đặt tên tệp, bạn cần git diff branch_1 branch_2 --) - torek
stackoverflow.com/questions/822811/differences-in-git-branches - Bijendra
Bản sao được trích dẫn không trả lời câu hỏi ... Xác định tệp nào đã thay đổi bằng git diff --name-status master..branchName khác biệt rõ rệt so với việc thấy sự khác biệt chính xác giữa các nhánh với thứ gì đó như git diff branch_1 branch_2. Hoặc có thể tôi đang thiếu một cái gì đó hiển nhiên ... - jww
Đồng ý với @jww, câu hỏi này không phải là một bản sao. Ngay cả khi "đánh dấu trùng lặp" trả lời câu hỏi này, mà nó không, từ ngữ của câu hỏi là đủ khác nhau để làm cho độc đáo này. Xấu hổ với jberryman, Mac, Mario Sannum, EdChum và ElYusubov. Họ chỉ ném sức mạnh của họ xung quanh. - Scott Biggs
Không chỉ là "trùng lặp" một câu hỏi khác nhau, câu hỏi này là số một trận đấu google cho "git diff two branch". - Rob Osborne


Các câu trả lời:


git diff branch_1..branch_2

Điều đó sẽ tạo ra sự khác biệt giữa các mẹo của hai nhánh. Nếu bạn muốn tìm sự khác biệt từ tổ tiên chung của họ để kiểm tra, bạn có thể sử dụng ba dấu chấm thay vì hai:

git diff branch_1...branch_2

2177
2018-03-23 06:11



Cú pháp tương tự hoạt động để so sánh chi nhánh với thẻ hoặc thẻ với một thẻ khác. - Daniel Zohar
Cú pháp phạm vi cũng hoạt động cho git log. Với điều đó, bạn có thể xem thông báo cam kết và với --patch tùy chọn bạn có thể thấy một khác biệt cam kết tại một thời điểm. - Joe Flynn
Lưu ý rằng bạn cũng có thể thêm tên tệp hoặc thư mục sau hai lệnh trên. - msanford
@chiyachaiya giải thích của bạn đã giúp tôi nhưng git diff b1 ... b2 không giống như git diff b2 ... b1. Ví dụ khi chúng tôi bắt đầu b2 từ b1 và khi chúng tôi thực hiện một số thay đổi đối với b1, git diff b2 ... b1 sẽ hiển thị các thay đổi được thực hiện cho b1 sau b2 bắt đầu. Nếu chúng ta làm git diff b1 ... b2 nó sẽ cho các thay đổi được thực hiện cho b2 không có trong b1. - Chintak Chhapia
Nếu bạn nhận được fatal: bad revision 'some-branch' thì đây có lẽ là một nhánh từ xa. Bạn có thể cần một cái gì đó như git diff remotes/origin/some-branch my-local-branch - Dalin