Giả sử bạn có điều này:Làm thế nào để git merge --squash để github "mạng" sơ đồ cho thấy việc hợp nhất
master: o--o--o
development: `o--o--o
Tôi muốn kết hợp những thay đổi trở lại như một cam kết (tránh tất cả những rác dọc theo cam kết chiều):
git checkout master
git merge --squash development
Nhưng sau đó trang mạng github thấy điều này:
master: o--o--o---------o
development: `o--o--o
bạn đang phải làm như vậy nó cho thấy những gì bạn mong đợi, ví dụ:
master: o--o--o---------o
development: `o--o--o’
Bạn nhận được biểu đồ cuối cùng bằng cách sử dụng 'git merge --no-ff'. Nhưng lưu ý rằng "các cam kết rác" vẫn còn đó. –
Nó cũng đáng chú ý rằng một "hợp nhất bí" không phải là một sự hợp nhất thực sự (như lịch sử của bạn cho bạn thấy); nó thực sự là của một "squash rebase". Bạn có thể sẽ có được những gì bạn thực sự muốn, bằng cách đè bẹp 'phát triển' trước tiên (** lịch sử viết lại **) và sau đó thường kết hợp kết quả thành chính. –