微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误地从另一个分支而不是主线创建了一个分支

如何解决错误地从另一个分支而不是主线创建了一个分支

我是 git 新手,不小心从另一个分支而不是 main 创建了新分支。

我当前的地图:

           f-g
          /
       d-e
      /
 a-b-c

fg 应该来自 main

        d-e
      /
 a-b-c
      \
       f-g

我需要将 fg 移动到来自 main 的新分支。
注意:我已经将它们推送到 GitHub

解决方法

您可以使用 git rebase 移动分支以从 c 开始:

假设您当前的分支点提交 g 确保您的工作树是干净的(运行 git status 以找出答案)。

创建一个指向 g 的备份分支(运行 git branch backup)。如果您对结果不满意,可以使用它来恢复当前分支的原始位置。您可以在最后删除它 (git branch -D backup)。

移动提交运行:

git rebase --onto c HEAD~2

此命令会剪切从当前分支可访问且无法从 HEAD~2 访问的提交,并在提交 c 之上重放它们。

2 替换为您要移动的确切提交数。

如果 git rebase 操作失败(由于冲突),请运行 git rebase --abort 将分支恢复到其原始位置(在提交 g 时)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。