Tôi nên kết hợp một hotfix trở lại vào một nhánh tính năng bằng cách sử dụng gitflow?


10

Tôi đã bắt đầu sử dụng gitflow cho một dự án và tôi có một nhánh tính năng nổi bật cũng như một hotfix mới được tạo. Theo luồng công việc gitflow, hotfix được áp dụng cho cả các nhánh chínhphát triển , nhưng không có gì được nói hoặc thực hiện về các nhánh tính năng còn tồn tại.

Tuy nhiên, tôi muốn kết hợp các thay đổi hotfix trở lại vào nhánh tính năng của mình, gần như tôi có thể nói với ba tùy chọn:

  1. Đừng kết hợp những thay đổi. Nếu các thay đổi là cần thiết cho nhánh tính năng, thì nó phải là một phần của nhánh tính năng.
  2. Hợp nhất phát triển trở lại vào nhánh tính năng. Điều này dường như tuân theo quy trình công việc gitflow tốt nhất, nhưng sẽ gây ra các cam kết không theo thứ tự.
  3. Rebase nhánh tính năng để phát triển . Điều này sẽ duy trì trật tự cam kết nhưng dường như hoàn toàn vắng mặt trong quy trình công việc gitflow chung.

Thực hành tốt nhất ở đây là gì?

git  gitflow 

Các nhánh tính năng thường được cho là rất ngắn ngủi, đó là một loại mùi SCM được hợp nhất các thay đổi vào chúng; không thể hoàn thành (hoặc ổn định) nhánh tính năng và hợp nhất lại?
Aaronaught

2
@Aaronaught tốt các tính năng không được thực hiện / có thể đi đến đâu. Tình huống cơ bản là một tính năng mất vài ngày để phát hiện ra một lỗi có khả năng ảnh hưởng đến dữ liệu sản xuất. Các thử nghiệm đã được viết, hotfix được áp dụng cho chủ / sản xuất, nhưng tính năng chưa hoàn thành vẫn bị lỗi do lỗi. Bạn có đề xuất hợp nhất một tính năng đã hoàn thành một nửa vào tuyến chính phát triển không? Điều gì xảy ra nếu tính năng này không hoạt động?

Câu trả lời:


11

Tôi không thấy có gì sai khi khởi động lại nhánh tính năng của bạn để phát triển để chọn các bản sửa lỗi nóng mới nhất. Trên thực tế, việc thường xuyên khởi động lại nhánh tính năng của bạn chống lại sự phát triển có thể hữu ích, vì nó cho phép bạn giữ cho nhánh của mình "cập nhật", giúp việc hợp nhất dễ dàng hơn nhiều khi bạn đến giai đoạn đó.


Yeah: nhìn xung quanh một số chi tiết, bằng chứng tình huống, bao gồm cả thông báo gitflow 0.2 có thêm tính năng rebasing, cũng đang chỉ ra luồng công việc rebase git thông thường là luồng công việc gitflow.

2
Hấp dẫn. Tôi không thể nói tôi là một chuyên gia về Gitflow, nhưng sự hiểu biết của tôi là hotfix là các cam kết duy nhất chống lại chủ, không phải các chi nhánh và tôi chỉ đơn giản là anh đào đã chọn chúng để phát triển. Đọc lên nghĩ rằng tôi đã hoàn toàn sai về điều đó.
jb510
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.