Tôi thấy rằng giải pháp tốt nhất cho tôi là chỉ thực hiện hợp nhất và hủy bỏ nó nếu có xung đột . Cú pháp đặc biệt này cảm thấy sạch sẽ và đơn giản với tôi. Đây là Chiến lược 2 dưới đây.
Tuy nhiên, nếu bạn muốn đảm bảo rằng bạn không làm xáo trộn chi nhánh hiện tại của mình hoặc bạn chưa sẵn sàng hợp nhất bất kể sự tồn tại của xung đột, chỉ cần tạo một nhánh con mới từ chi nhánh đó và hợp nhất:
Chiến lược 1: Cách an toàn - hợp nhất một chi nhánh tạm thời:
git checkout mybranch
git checkout -b mynew-temporary-branch
git merge some-other-branch
Bằng cách đó, bạn có thể chỉ cần vứt bỏ nhánh tạm thời nếu bạn chỉ muốn xem những xung đột là gì. Bạn không cần phải "hủy bỏ" việc hợp nhất và bạn có thể quay lại công việc của mình - chỉ cần kiểm tra lại 'mybranch' và bạn sẽ không có bất kỳ mã hợp nhất hoặc hợp nhất nào trong chi nhánh của mình.
Điều này về cơ bản là chạy khô.
Chiến lược 2: Khi bạn chắc chắn muốn hợp nhất, nhưng chỉ khi không có xung đột
git checkout mybranch
git merge some-other-branch
Nếu git báo cáo xung đột (và CHỈ NẾU CÓ xung đột), bạn có thể thực hiện:
git merge --abort
Nếu hợp nhất thành công, bạn không thể hủy bỏ nó (chỉ đặt lại).
Nếu bạn chưa sẵn sàng để hợp nhất, hãy sử dụng cách an toàn hơn ở trên.
[EDIT: 2016-Nov - Tôi đã hoán đổi chiến lược 1 cho 2, vì dường như hầu hết mọi người đang tìm kiếm "cách an toàn". Chiến lược 2 bây giờ có nhiều lưu ý rằng bạn chỉ có thể hủy bỏ hợp nhất nếu hợp nhất có xung đột mà bạn chưa sẵn sàng để giải quyết. Hãy ghi nhớ nếu đọc bình luận!]
git merge
vàgit reset --keep HEAD@{1}
nếu tôi không thích kết quả.