将分支移动到另一个分支

Posted

技术标签:

【中文标题】将分支移动到另一个分支【英文标题】:Move branch to another branch 【发布时间】:2021-11-27 23:12:28 【问题描述】:

我已经开始在一个分支上做一些工作,我已经意识到这是错误的分支。有没有办法将一个分支移动到另一个分支。

例如:

A -- B -- C -- D -- HEAD
 \-- E -- F -- G -- H -- I -- J
      \-- K -- L

我想要这个:

A -- B -- C -- D -- HEAD
 \    \-- K -- L
  \
   \-- E -- F -- G -- H -- I -- J

【问题讨论】:

如果您发现最佳答案(您认为)可以解决您的问题,请将其标记为“已接受”! :-) 【参考方案1】:

假设您已将分支命名为:

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

您想要做的是将my-branch 重新设置为 B 提交,如下所示:

    git rebase current-parent my-branch --onto B

【讨论】:

这个答案应该被接受!非常感谢【参考方案2】:

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

git rebase --onto new-base old-base your-branch

所以在你的情况下,类似于:

git rebase --onto B E L

应该可以。

【讨论】:

【参考方案3】:

这正是git rebase 可以做的事情。

https://www.kernel.org/pub/software/scm/git/docs/git-rebase.html

【讨论】:

以上是关于将分支移动到另一个分支的主要内容,如果未能解决你的问题,请参考以下文章

将提交从一个分支移动到另一个分支

如何使用 Git / IntelliJ 将整个文件从一个分支移动/复制到另一个分支? [复制]

是否可以轻松地将所有提交从一个分支移动到另一个分支作为一个提交? [复制]

如何将分支内容移动到另一个存储库保留历史记录并避免复制原始存储库的完整历史记录?

将文件从一个存储库移动到另一个存储库并并行更改

Git 在将两个分支合并到主(主)分支之前将一个开发人员分支合并到另一个开发人员分支