2012-08-21 39 views
5

Tôi đang sử dụng git và tôi có một kho lưu trữ với một loạt các chi nhánh.Kết hợp một thay đổi thành nhiều chi nhánh

Nếu tôi thực hiện một hotfix trên nhánh chi nhánh (hoặc nhánh khác), làm thế nào tôi có thể dễ dàng hợp nhất sửa chữa này vào tất cả các nhánh đó. Tôi có phải hợp nhất từng chi nhánh một (giống như vậy: Merging one change to multiple branches in Git) hoặc có cách nào dễ dàng hơn không?

Trả lời

2

Tôi khuyên bạn nên xem git flow và đó là tool support.

Hỗ trợ hotfix của luồng git đang tạo nhánh bugfix có thể được hợp nhất vào chi nhánh sản xuất của bạn (có thể là master) và nhánh phát triển của bạn (trong luồng git develop). Chi nhánh hotfix bắt đầu từ master. Vì tất cả các thay đổi của bản chính sẽ được hợp nhất thành develop sau mỗi lần phát hành, bạn có thể hợp nhất chi nhánh hotfix thành develop cũng như không phải hợp nhất các cam kết mà bạn không định sáp nhập.

0

Tôi không nghĩ có cách nào để hợp nhất thành nhiều nhánh bằng một lệnh. Những gì bạn có thể làm là bao giờ chi nhánh bạn bắt đầu làm việc trên chỉ cần rebase nó trên tổng thể.

0

Mỗi lần hợp nhất yêu cầu xét xử xung đột và đôi khi giải quyết xung đột, vì vậy không có cách nào để hợp nhất mà không kiểm tra chi nhánh mà bạn đang hợp nhất. Điều đó được viết, bạn có cần phải hợp nhất nó vào tất cả các chi nhánh của bạn?

Ví dụ: tôi có hàng tá chi nhánh tại địa phương, nhưng phần lớn trong số đó là các tính năng hoặc bản sửa lỗi riêng biệt. Đây không thực sự cần hầu hết các cam kết bảo trì hotfix và tôi không bận tâm để giữ cho chúng được cập nhật cho đến khi chúng sẵn sàng sản xuất hoặc sẵn sàng để được chia sẻ với cộng tác viên. Khi họ đang có, họ nên được đưa lên-to-date bất kể có hay không master đã được hotfix để làm cho hội nhập sản xuất dễ dàng hơn.

Nói cách khác, quy trình làm việc của tôi cho phép tôi phân phối sự cố khi hợp nhất hotfix thành các đối tượng địa lý vào thời điểm thực sự quan trọng. Nếu bạn có một loạt các nhánh tính năng nhỏ, bạn có thể không cần mã hotfix đó.

Các vấn đề liên quan