Sử dụng gitflow, khi tạo một release-1.0.0
nhánh và hợp nhất nó với cả hai master
và develop
, cả hai nhánh sẽ có một cam kết bị thiếu:
master
sẽ không có cam kết nơirelease-1.0.0
hợp nhất vớidevelop
develop
sẽ không có cam kết nơirelease-1.0.0
hợp nhất vớimaster
Thay vào đó, sau khi hotfix-1.0.1
được tạo và sáp nhập vào master
, khi nó được hợp nhất develop
, các cam kết hợp nhất sẽ bao gồm các cam kết trước đó release-1.0.0
được sáp nhập vào master
; vì vậy nó sẽ trông như thế này:
User 'john doe' is trying to merge the following commits into 'develop' from 'hotfix-1.1.1'.
* merge release-1.0.0 to master
* merge release-1.1.0 to master
* Fix shopping cart critical bug
Nếu điều này nghe có vẻ khó hiểu, bạn có thể dễ dàng nhận thấy mọi thứ bạn thấy develop
thường là một vài cam kết phía sau master
(mặc dù về mặt lý thuyết, chỉ nên đi trước vì nó là nhánh chính. Những cam kết đó được hợp nhất từ release-x.x.x
đến master
).
Làm thế nào điều này nên được xử lý để duy trì một lịch sử sạch?