Đó là tất cả về bối cảnh: tần suất bạn phát hành và những gì trong một bản phát hành.
Đây là một chút nghiên cứu trường hợp mà tôi đã có với công việc cũ của mình, sử dụng phương pháp B (chúng tôi gọi nó là chi nhánh theo mục đích ).
Để đặt câu chuyện trong bối cảnh,
- Một bản phát hành bao gồm các tính năng mới trong phần mềm của chúng tôi: chế độ chơi trò chơi mới, chức năng mới, tùy chọn cấu hình mới.
- Chu kỳ phát hành khá dài: khách hàng của chúng tôi là các trường đại học sẽ gắn bó với một tính năng thường được đặt trong một năm.
Sự phát triển chính đã được thực hiện trong thân cây cho đến khi chúng tôi đạt đến trạng thái hoàn thành tính năng cho một bản phát hành nhất định. Tại thời điểm đó, chúng tôi sẽ tạo một chi nhánh, giả sử tên dự án-tháng một năm 2012 và thực hiện kiểm tra chất lượng và sửa lỗi trong chính chi nhánh đó. Khi chúng tôi đã sẵn sàng để phát hành công khai, chúng tôi sẽ gắn thẻ mã trong nhánh đó và phát hành.
Tuy nhiên, sự phát triển trên bản phát hành không kết thúc ở thẻ đó. Chắc chắn, chúng tôi đã có những khách hàng tìm thấy lỗi hoặc các vấn đề nhỏ với bản phát hành. Vì vậy, trong trường hợp đó, tất cả những gì chúng ta cần làm là quay trở lại nhánh đó, vá mã và tạo một phiên bản được gắn thẻ mới của nhánh janftime2012 sẽ được phát hành và hợp nhất các bản sửa lỗi trở lại thân cây.
Trong trường hợp của chúng tôi, cách tiếp cận này rất thuận lợi vì một số người dùng thích ở lại với các bản phát hành cũ hơn với một bộ tính năng hạn chế hoặc đơn giản vì chi phí triển khai trên cơ sở hạ tầng của họ một phiên bản hoàn toàn mới thay vì một hotfix gây ra một số vấn đề.
Vì vậy, những câu hỏi bạn phải tự hỏi mình là:
- Bao lâu thì tôi phát hành?
- Các bản phát hành của tôi sẽ tương thích ngược 100%?
- Khách hàng của tôi sẽ ổn với việc nâng cấp hoàn toàn để sửa lỗi chứ?
Nếu bạn phát hành thường xuyên, thì có lẽ không đáng để có các nhánh cho mỗi người trong số họ. Tuy nhiên, nếu chu kỳ phát hành của bạn khá dài như trường hợp sử dụng cũ của tôi và việc triển khai, khả năng tương thích ngược và khách hàng bám vào các bản phát hành cũ có thể gặp rủi ro, tùy chọn B chắc chắn sẽ giúp bạn đỡ đau hơn, sẽ giúp mọi thứ dễ dàng hơn rất nhiều khách hàng của bạn với chi phí tối thiểu để đối phó với sự lộn xộn chi nhánh.