我想用git重写一个提交,所以我做了一个git rebase -i 00112233或类似的事情,但在不对将应用的提交进行任何更改的情况下,发生了合并冲突。输入合并命令,弹出编辑器,我接受其中的内容,并且存在合并冲突。
我的理解git rebase -i是将HEAD其设置为00112233,然后00112233 按编辑器中指定的顺序应用之后的提交(由于已经应用到当前状态,因此它们是一致的)(在这种情况下,我没有更改) )。我不知道该过程将如何导致合并冲突。
发生这种情况有什么方式?
如果历史记录不是线性的,则可能必须重新应用首次合并时采用的冲突解决方案。要说明一下,如果历史记录是:
C:\Temp\TestRepo>git log --graph --oneline
* 3fc0537 Merge branch 'branch'
|\
| * 79e29f9 branch
* | 0de3658 master
|/
* edead94 Initial revision
Run Code Online (Sandbox Code Playgroud)
并且合并提交3fc0537包含冲突:
C:\Temp\TestRepo>git log -1
commit 3fc053701a53a30a01469f560ad5057eab74d126
Merge: 0de3658 79e29f9
Author: Edward Thomson <ethomson@edwardthomson.com>
Date: Thu Feb 6 17:55:59 2014 -0800
Merge branch 'branch'
Conflicts:
file.txt
Run Code Online (Sandbox Code Playgroud)
然后重新定基edead94将产生合并冲突。