Tôi sẽ tưởng tượng nên có một mối quan hệ cố hữu giữa các nhánh này phải giải quyết vấn đề về số phiên bản.
Phát hành
Tôi sẽ hình dung bạn có thể làm một cái gì đó như hợp nhất mã sẵn sàng sản xuất từ nhánh dev sang nhánh phát hành, sau đó thực hiện một bản phát hành Maven (thông qua Jenkins hoặc thủ công). Điều này sẽ tự động cuộn các số phiên bản để xây dựng tiếp theo. Vì vậy, bạn hợp nhất mã 1.4.7-SNAPSHOT cho chi nhánh này, thực hiện việc phát hành và cắt phiên bản 1.4.7 và Maven tự động cuộn bản sao làm việc của bạn thành 1.4.8-SNAPSHOT.
Cập nhật đường cơ sở (tùy chọn)
Nếu bạn chưa sử dụng trung kế của mình (hoặc nhánh cơ sở, v.v.) làm nơi phát hành, bạn nên cập nhật trung kế ngay khi bạn hoàn thành một bản phát hành. Điều này có nghĩa là số phiên bản của bạn cũng đang được cập nhật. Bước này có thể là tranh luận nếu bạn chỉ coi nhánh phát hành là đường cơ sở.
Hợp nhất từ Đường cơ sở đến Chi nhánh Dev
Điều cần thiết là chi nhánh phát triển của bạn luôn cập nhật mã sản xuất thực tế . Bạn cần hợp nhất mã từ đường cơ sở (hoặc nhánh phát hành, tùy thuộc vào việc triển khai) cho đến nhánh phát triển của bạn. Điều này rất quan trọng trong trường hợp của bạn bởi vì nó có nghĩa là những thay đổi của pom xảy ra trong quá trình phát hành, đã thay đổi phiên bản thành 1.4.8-SNAPSHOT, được đưa đến chi nhánh này.
Dựa trên việc đọc tôi đã thực hiện (cũng như các quy trình trong tổ chức của tôi), đây có vẻ là một cách sử dụng khá hiệu quả và hiệu quả của các bản phát hành và ảnh chụp Maven, và thay vì duy trì số phiên bản bị ngắt kết nối hoàn toàn trên các nhánh khác nhau, thật dễ dàng để nói rằng bất kỳ bản dựng 1.4.7-SNAPSHOT nào trên thực tế là tiền thân ngay lập tức của bản phát hành 1.4.7. Chúng có liên quan. Tôi sẽ đi xa hơn để nói rằng nếu bạn không hợp nhất qua lại giữa các chi nhánh này, bạn đang làm sai cả phiên bản SCM và Maven, và bạn có nguy cơ phát triển chống lại mã không khớp với sản xuất , giới thiệu lại lỗi cho sản xuất, vv