【问题标题】:Mistakenly made a branch from another one instead of the main line错误地从另一个分支而不是主线创建了一个分支
【发布时间】:2021-02-20 14:48:05
【问题描述】:

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

我现在的地图:

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

fg 应该来自 main

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

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

【问题讨论】:

  • 尝试将指向g的分支重置回c,然后选择fg
  • 有什么问题?
  • 我需要将 f 和 g 移动到来自 main 的新分支

标签: git branch git-branch


【解决方案1】:

您可以使用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)。

【讨论】:

    猜你喜欢
    • 2016-12-15
    • 2011-05-27
    • 2016-03-04
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    相关资源
    最近更新 更多