我有一个基于git repo远程分支的本地主题分支:
1 - 2 - 4 - 5 - 9 - 11 master
\
3 - 6 - 8 - 12 remote branch
\
7 - 10 my topic
最近,远程分支机构被大师重新命名:
1 - 2 - 4 - 5 - 9 - 11 master
\
? 3' - 6' - 8' - 12' remote branch
\
7 - 10 my topic
我想从远程分支的头部重新定义我的主题分支,以便最终将我的更改合并回远程。但是,因为父提交的哈希值发生了变化,所以尝试一个简单的
$ git rebase origin/remote_branch
导致我从未接触过的文件中存在许多冲突。
我可以做些什么来清理这些分支?
答案 0 :(得分:7)
简单地在origin/remote_branch
上重新定位会让git感到困惑,因为它试图在remote_branch的尖端上修改过时的提交,这会导致重复的提交和冲突。
相反,您必须使用--onto
选项
git rebase --onto <6'-SHA> <6-SHA> my-topic
<6'-SHA>
和<6-SHA>
分别是创建my-topic
的提交的新旧ID。