Như Michael đã đề cập, cung cấp một giải pháp tiêu chuẩn dựa trên các phiên bản / số phát hành, với tuổi thọ khá dài cho ngành của bạn (có thể xen kẽ với một hoặc nhiều phiên bản trung gian có tuổi thọ ngắn hơn, nếu nó hợp lý với khách hàng tiêu biểu của bạn).
Cung cấp cho khách hàng của bạn tùy chọn bắt tay vào bản phát hành tiêu chuẩn này, có thể với thời hạn di chuyển hợp lý.
Nếu họ nhấn mạnh vào chiến lược hỗ trợ chi nhánh tùy chỉnh đầy đủ, chỉ cần tính phí cho họ, để trang trải đúng tất cả các chi phí bổ sung của bạn để cung cấp hỗ trợ tùy chỉnh đầy đủ như vậy - điều đó chỉ có ý nghĩa kinh doanh. Một số khách hàng sẽ di chuyển để giảm chi phí của họ (điều này sẽ giúp bạn giảm số lượng chi nhánh tùy chỉnh), một số sẽ không.
Thanh toán hỗ trợ biến đổi, tăng dần theo tuổi của các phiên bản phát hành mà các nhánh tùy chỉnh bắt nguồn cũng có thể là một động lực để khách hàng di chuyển đến các chi nhánh mới nhanh hơn, giúp đóng các nhánh tùy chỉnh cũ nhanh hơn. Điều này có thể giúp giảm số lượng chi nhánh tùy chỉnh trên mỗi khách hàng - nếu bạn có khách hàng chạy đồng thời nhiều phiên bản phần mềm của bạn.
Hãy chắc chắn rằng bạn không rơi vào bẫy thực hiện sáp nhập toàn bộ chi nhánh từ / đến bất kỳ nhánh phát hành nào (cả tiêu chuẩn và tùy chỉnh), tất cả các thay đổi đối với chúng phải là các bản sửa lỗi được hợp nhất được phát triển riêng lẻ hoặc được chọn.
Bởi vì mỗi nhánh này sẽ dần dần phân tách khỏi nhau, số lượng hotfix yêu cầu tùy chỉnh / phát triển riêng lẻ sẽ tăng theo cấp số nhân (việc hợp nhất chọn cherry đơn giản sẽ thất bại). Bạn cần phải tính chi phí phát triển cho những điều này.
Không có sự hợp nhất nhánh nào (đáng kể) trong hình ảnh mà bạn có thể (và nên, tôi không thể nhấn mạnh đủ tầm quan trọng của nó) xây dựng các đường ống CI / CD hoàn toàn tự động cho các nhánh này, đi kèm với một hệ thống quản lý / theo dõi hotfix tốt, giúp phân phối hotfix chỉ là thói quen (hoặc gần như).