git diff `git merge-base master branch`..branch
Hợp nhất cơ sở là điểm mà branchchuyển hướng từ master.
Git diff hỗ trợ một cú pháp đặc biệt cho việc này:
git diff master...branch
Bạn không được hoán đổi các bên vì sau đó bạn sẽ có được chi nhánh khác. Bạn muốn biết những gì đã thay đổi branchkể từ khi nó chuyển hướng từmaster , không phải cách khác.
Liên quan lỏng lẻo:
Lưu ý rằng ..và ...cú pháp không có cùng ngữ nghĩa như trong các công cụ Git khác. Nó khác với ý nghĩa được chỉ định trong man gitrevisions.
Trích dẫn man git-diff:
git diff [--options] <commit> <commit> [--] [<path>…]
Điều này là để xem những thay đổi giữa hai tùy ý <commit>.
git diff [--options] <commit>..<commit> [--] [<path>…]
Điều này đồng nghĩa với hình thức trước đó. Nếu <commit>một bên bị bỏ qua, nó sẽ có tác dụng tương tự như sử dụng HEADthay thế.
git diff [--options] <commit>...<commit> [--] [<path>…]
Hình thức này là để xem các thay đổi trên nhánh chứa và lên đến lần thứ hai <commit>, bắt đầu từ một tổ tiên chung của cả hai <commit>. " git diff A...B" tương đương với " git diff $(git-merge-base A B) B". Bạn có thể bỏ qua bất kỳ một trong số <commit>đó, có tác dụng tương tự như sử dụng HEADthay thế.
Chỉ trong trường hợp nếu bạn đang làm một cái gì đó kỳ lạ, cần lưu ý rằng tất cả các <commit>mô tả trong phần trên, ngoại trừ trong hai hình thức cuối cùng sử dụng ký hiệu "..", có thể là bất kỳ <tree>.
Để biết danh sách đầy đủ hơn về các cách đánh vần <commit>, hãy xem phần "ĐẶC BIỆT CÁCH MẠNG" gitrevisions[7]. Tuy nhiên, "diff" là về việc so sánh hai điểm cuối, không phải phạm vi và các ký hiệu phạm vi (" <commit>..<commit>" và " <commit>...<commit>") không có nghĩa là một phạm vi như được định nghĩa trong phần "ĐẶC BIỆT RANGES" trong gitrevisions[7].
git diff master..branch. Bạn có thể rút ngắn nó xuốnggit diff master..nếu bạn đang ở chi nhánh. Cácr1..r2cú pháp là viết tắt của^r1 r2mà có nghĩa là "cho tôi tất cả mọi thứ mà xuống từr2và không thể truy cập từr1".git help gitrevisionscó thông tin về các cú pháp khác nhau mà bạn có thể sử dụng.