2012-02-08 31 views
5

Kịch bản là thế này:Làm thế nào để di chuyển tất cả các cam kết từ một chi nhánh khác?

X1--X2--X3--X4--X5--X6 (master) 
      \ 
       D1--D2--D3 (dev) 
         \ 
         B1--B2--B3 (bug1) 

tôi muốn chuyển tất cả các cam kết từ bug1 chi nhánh để làm chủ chi nhánh và thoát khỏi chi nhánh bug1. Trong trường hợp này:

X1--X2--X3--X4--X5--X6--B1--B2--B3 (master) 
      \ 
       D1--D2--D3 (dev) 

Tùy chọn tốt nhất để làm điều này là gì?

+2

+1 Đối với nghệ thuật ASCII tuyệt vời và câu hỏi rõ ràng. – iblue

Trả lời

7

Nó phải là một trường hợp điển hình của git rebase --onto

git rebase --onto master dev bug1 
git checkout master 
git merge bug1 # fast-forward merge 

Xem thêm các ProGit Book cho một ví dụ về rebase --onto.

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