如何将所有提交从分支移动到另一个分支?

Iva*_*van 5 git

场景是这样的:

X1--X2--X3--X4--X5--X6 (master)
             \
              D1--D2--D3 (dev)
                       \
                        B1--B2--B3 (bug1)
Run Code Online (Sandbox Code Playgroud)

我想将所有提交从bug1分支移动到master分支并摆脱bug1分支.在这种情况下:

X1--X2--X3--X4--X5--X6--B1--B2--B3 (master)
             \
              D1--D2--D3 (dev)
Run Code Online (Sandbox Code Playgroud)

这样做的最佳选择是什么?

Von*_*onC 7

它应该是一个经典案例 git rebase --onto

git rebase --onto master dev bug1
git checkout master
git merge bug1 # fast-forward merge
Run Code Online (Sandbox Code Playgroud)

另请参阅ProGit Book以获取另一个示例rebase --onto.