9

我有一个基于 git repo 上的远程分支的本地主题分支:

1 - 2 - 4 - 5 - 9 - 11  master
      \
        3 - 6 - 8 - 12  remote branch
              \
                7 - 10  my topic

远程分支最近从 master 重新定位:

1 - 2 - 4 - 5 - 9 - 11  master
                       \
            ?            3' - 6' - 8' - 12'  remote branch
              \
                7 - 10  my topic

我想将我的主题分支从远程分支的头部重新定位,以便我最终可以将我的更改合并回远程。但是,由于父提交的哈希已经改变,尝试一个简单的

$ git rebase origin/remote_branch

导致我从未接触过的文件中出现许多冲突。

我能做些什么来清理这些分支吗?

4

1 回答 1

7

简单origin/remote_branch地 rebase 会让 git 感到困惑,因为它会尝试在 remote_branch 的尖端上 rebase 过时的提交,这会导致重复提交和冲突。

--onto相反,您必须使用选项关闭和打开与第六个相关的新点提交

git rebase --onto <6'-SHA> <6-SHA> my-topic

<6'-SHA>并且分别是创建<6-SHA>的提交的新旧 id 。my-topic

于 2012-06-21T21:04:06.360 回答