Câu hỏi đặt ra là - cách đạt được phiên bản chính xác (được hiển thị với git describe
) trên develop
sau khi tôi hợp nhất nó thành master
và được gắn thẻ master
.Tôi có nên git hợp nhất phát triển thành chính và sau đó quay lại sau khi gắn thẻ không?
Tôi sử dụng phân nhánh git chung - master
để sản xuất. Giả sử git describe
hiển thị 1.5
trên master
và sau khi hợp nhất với develop
, master
hiển thị 1.5-234-g1e894af
.
Vì vậy, tôi tạo thẻ được chú thích mới với git tag -a 1.6
và do đó git describe master
hiện hiển thị 1.6
.
NHƯNG: git describe develop
vẫn hiển thị 1.5-something
, điều kỳ lạ đối với tôi - nó có cùng cam kết như trong master
- tại sao git cho rằng nó vẫn thuộc về phiên bản 1.5
?
Không có gì tốt hơn đi vào bộ não của tôi vì vậy tôi chỉ hợp nhất vào phát triển, và sau đó phát triển cho thấy phiên bản 1.6-2-...
được chấp nhận nhưng tạo thêm 1 cam kết hợp nhất vô dụng và cảnh báo tôi về "hợp nhất được đệ quy" không có ý nghĩa để làm, nhưng làm thế nào để đạt được phiên bản chính xác sau đó?
Vâng, cùng một hình ảnh tôi cũng tưởng tượng. Rebase là nhóm không thân thiện tất nhiên, cộng với những thay đổi cam kết ID (chúng tôi đề cập đến chúng trong trình gỡ lỗi). Tuy nhiên tôi nghĩ rằng nên có một cách để hợp nhất lại chỉ là một thẻ. Nó phải là một vấn đề phổ biến, và tôi nghi ngờ tất cả mọi người là rebasing hoặc back-merging: ( –
Không nên hợp nhất "master to develop" (sơ đồ 2) là một tiến nhanh (với 'phát triển' tại 'master' commit – ysdx
@ysdx: Tôi đã tạo ra một "commit vô ích" khi vẽ sơ đồ, ý tưởng vẫn là 'git describe' sẽ trả về 1,6 chỉ sau khi hợp nhất lại' master' thành 'develop'. – VonC