problem arising with git revert causes merge conflict

时间:2019-01-09 21:45:46

标签: git

I have a text file with the following content:

initially:
hello

first commit:
hello
asdfasdf

second commit:
hello
test 

third commit:
hello
test
test2 

Now I want to revert to the second commit , but I am getting a merge conflict why ?

2 个答案:

答案 0 :(得分:0)

注意,--hard会破坏工作文件夹文件。

如果您在master分支中,则在进行第三次修订时,您可以执行以下操作:

git reset --hard master~

这将还原为主要祖先版本,将该版本放置在git缓存和工作文件夹中。

您现在可以再次对工作文件夹中的第二个修订进行更改,添加它们,然后继续。

您可能没有使用任何选项,所以git选择了--mixed,它会恢复缓存,但不会恢复工作目录(但我想您在这里做了什么)

在使用--hard之前请务必小心,另外请参见here

答案 1 :(得分:0)

+----------------------------------+ | Serial Port Write | +----------------------------------+ ttyUSB0 Opened Successfully BaudRate = 9600 StopBits = 1 Parity = none written to ttyUSB0 4000 Bytes written to ttyUSB0 +----------------------------------+ Bytes Rxed: 960 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~������������������������������������������������������������������������������������������������������������������������������ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~������������������������������������������������������������������������������������������������������������������������������ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~������������������������������������������������������������������������������������������������������������������������������ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������� +----------------------------------+ 合并,

git revert
从您还原的Init---first---second---third 提交到其父项的更改的

(即删除行second并用test替换)与从您的还原的提交到当前提示的更改(添加第asdfasdf行之后的第test2行。

因此,在一组更改中,您删除了一行,而在另一组更改中,您保留了该行并添加了更多行。 Git拒绝自动回答的问题是您添加的test行是否属于您在其他更改中替换的test2行。

具有大量变更集合并的经验表明,相邻行之间经常如此相关,以至于自动接受一个变更集中与另一行变更的行相邻的另一行是不好的举动,有些人需要确定正确的结果是什么

当更改“显然”不相关时,很难想象Git为什么会认为它们可能是真实的,甚至很难看到邻接,但这就是这里的意思。您已经发现这种情况很容易发生,如果您很容易就将其弄对,没有大的损失,只需选择,只需几秒钟。