Tôi có một nhánh chính trong dự án của mình, mà tôi sử dụng để kéo các thay đổi từ những người khác. Từ đó, tôi thường có một số nhánh chủ đề mà tôi hiện đang làm việc.Git: Làm thế nào để rebase nhiều nhánh (với cùng một commit cơ bản) cùng một lúc?
Câu hỏi của tôi là: Có cách nào để tôi kéo các thay đổi mới vào chủ của mình và sau đó rebase TẤT CẢ các nhánh chủ đề của tôi vào cùng một lúc không?
Đây là tình hình:
D--E topic1
/
A--B--C master
\
F--G topic2
Và tôi muốn thực hiện điều này với một lệnh duy nhất (H đến từ thượng nguồn):
D'--E' topic1 / A--B--C--H master \ F'--G' topic2
Bây giờ, tôi biết tôi có thể thực hiện điều này bằng cách rebasing topic1 và topic2 vào master, và tôi thậm chí có thể viết một kịch bản để tự động hóa điều này. Nhưng nếu tôi có một số chi nhánh khác, tạo ra những cái mới và xóa những người khác thường xuyên và tôi nhận được những thay đổi ngược dòng tất cả các thời gian?
Thao tác này (một số lần rebases), khi thực hiện bằng tay, vừa mệt mỏi vừa dễ xảy ra lỗi.
Có cách nào dễ dàng hơn không?
Cảm ơn!
[câu hỏi này mới hơn] (http://stackoverflow.com/questions/5600659/rebasing- a-branch-includ ing-all-its-children/5600770 # 5600770) có lẽ là một bản sao, nhưng tôi không chắc chắn nó đã bao giờ thực sự bị đóng như là một bản sao của một câu hỏi cũ mà không có một câu trả lời thực sự. – Cascabel
Xem thêm [cách tôi muốn rebase toàn bộ tiểu sử - một số chi nhánh, với một số liên kết giữa chúng tạo thành từ hợp nhất] (http://stackoverflow.com/a/9706495/94687). –
'git rebase --onto' cũng nên được đề cập trong trường hợp' topic1' hoặc 'topic2' có nhánh con https://coderwall.com/p/xzsr9g/rebasing-dependent-branches-with-git – quimnuss