我想在git中重新提交一个提交,所以我做了一个git rebase -i 00112233
或类似的东西,我得到了合并冲突,而没有对将要应用的提交进行任何更改。我输入合并命令,编辑器弹出,我接受那里有什么,并且存在合并冲突。
我对git rebase -i
的理解是HEAD
设置为00112233
,然后提交00112233
之后的提交(由于它们已被应用于当前状态)按照编辑器中指定的顺序应用(在本例中我没有更改)。我无法弄清楚这个过程将如何导致合并冲突。
这种情况会发生什么?
答案 0 :(得分:4)
如果相关历史记录不是线性的,您可能需要重新应用首次合并时使用的冲突解决方案。如果历史如此,那就是iilustrate:
C:\Temp\TestRepo>git log --graph --oneline
* 3fc0537 Merge branch 'branch'
|\
| * 79e29f9 branch
* | 0de3658 master
|/
* edead94 Initial revision
合并提交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
然后退出edead94
将产生合并冲突。