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 ?
答案 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为什么会认为它们可能是真实的,甚至很难看到邻接,但这就是这里的意思。您已经发现这种情况很容易发生,如果您很容易就将其弄对,没有大的损失,只需选择,只需几秒钟。