将分支移动到另一个分支

use*_*088 22 git branching-and-merging git-branch

我已经开始在一个分支上做一些工作了,我认为这是一个错误的分支.有没有办法将分支移动到不同的分支.

例如:

A -- B -- C -- D -- HEAD
 \-- E -- F -- G -- H -- I -- J
      \-- K -- L
Run Code Online (Sandbox Code Playgroud)

我想要这个:

A -- B -- C -- D -- HEAD
 \    \-- K -- L
  \
   \-- E -- F -- G -- H -- I -- J
Run Code Online (Sandbox Code Playgroud)

Wol*_*olf 33

假设您已将您的分支命名为:

    A -- B -- C -- D (master)
     \-- E -- G -- H -- I -- J (current-parent)
          \-- K -- L (my-branch)
Run Code Online (Sandbox Code Playgroud)

你想要做的是my-branch像这样重新定义到B提交:

    git rebase current-parent my-branch --onto B
Run Code Online (Sandbox Code Playgroud)

  • 这个答案应该已经被接受!非常感谢 (2认同)

ada*_*son 7

你可以使用git rebase --onto,例如,

git rebase --onto new-base old-base your-branch
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下,像:

git rebase --onto B E L
Run Code Online (Sandbox Code Playgroud)

应该管用.