Đây là vấn đề chính xác mà tôi gặp phải với luồng gitflow và GitHub và dường như với các ứng dụng web, điều này xảy ra thường xuyên - hoặc giống như quy tắc hơn. Có vẻ như bạn sẽ giải quyết vấn đề này hồi tố (đã đề cập ở trên) hoặc chủ động (ví dụ bên dưới).
Tôi đã tạo 'các nhánh bó' ngoài các nhánh gitflow tiêu chuẩn. Gói này bao gồm tất cả các tính năng đã sẵn sàng cho uat / qa. Một danh sách các tính năng uat / qa được tạo ra. Chúng được hợp nhất vào gói tạm thời và gói đó được triển khai thành uat / qa. Bất kỳ sửa lỗi nào xảy ra trên nhánh tính năng gốc và được sửa lại thành gói và triển khai. Điều này phân tách bản phát hành sắp tới cũng như cho phép thử nghiệm các tính năng đó cùng nhau trước khi chúng tìm đường đến chi nhánh phát triển. Những nhánh được phê duyệt sẽ nhận được yêu cầu kéo vào phát triển - theo quy trình gitflow. Các tính năng sẵn sàng thử nghiệm có thể được thêm vào hoặc xóa khỏi nhánh gói tạm thời và triển khai lại.
- Điều này giúp chủ luôn phản ánh trạng thái sẵn sàng sản xuất (có thể tự động hóa với hook)
- Phát triển luôn phản ánh ứng cử viên phát hành tiếp theo được phân phối (và thử nghiệm)
Nhược điểm bao gồm quản lý danh sách gói và thêm loại chi nhánh khác; tuy nhiên, bên cạnh bản sửa lỗi retro mà tôi nghĩ là quá muộn, đây dường như là giải pháp khả thi hơn.
Với một addon GUI, có thể là tối ưu để đánh dấu các nhánh tính năng trên mỗi triển khai gói - với ý tưởng tự động hóa.