回答
问第一部分的git rerere diff
意思是什么很好但被误导了。相反,请检查-
和+
注释。来自Git 书:
git rerere diff
将显示解决方案的当前状态 - 您开始解决的问题以及您已解决的问题。
-
任何以orno prefix
为前缀的内容都是您开始解决的问题:
<<<<<<<
puts 'hello mondo'
=======
puts 'hola world'
>>>>>>>
+
任何以orno prefix
为前缀的内容都是您已解决的内容(并且是您当前在工作目录中拥有的内容):
<<<<<<< HEAD
puts 'hola world'
=======
puts 'hello mondo'
>>>>>>> rerere2
详细说明
工作目录的内容
合并后,工作目录立即包含:
def hello
<<<<<<< HEAD
puts 'hola world'
=======
puts 'hello mondo'
>>>>>>> rerere2
end
的输出git diff
的输出git diff
是这个并使用组合的差异标记:
def hello
++<<<<<<< HEAD in working dir but in neither ours/theirs
+ puts 'hola world' in working dir but not in theirs
++======= in working dir but in neither ours/theirs
+ puts 'hello mondo' in working dir but not in ours
++>>>>>>> rerere2 in working dir but in neither ours/theirs
end
如果我们查看 simple.rb 的工作目录文件,这是真的。它的内容与输出相同,git diff
但没有我们/他们的标记。
的输出git rerere diff
的输出git rerere diff
就是这个并且不使用组合的差异格式。
def hello
-<<<<<<< started with
- puts 'hello mondo' started with
-======= started with
+<<<<<<< HEAD resolved to
puts 'hola world' started with & resolved to
->>>>>>> started with
+======= resolved to
+ puts 'hello mondo' resolved to
+>>>>>>> rerere2 resolved to
end
- 任何带有 a
-
的东西都是你开始的一部分
- 任何带有 a
+
的内容都是您已解决的问题的一部分
- 任何没有前缀的东西都是两者的一部分
如果我们只看一下-
注释的内容,我们会得到:
-<<<<<<<
- puts 'hello mondo'
-=======
->>>>>>>
这就是说左侧带来了,puts 'hello mondo'
而右侧什么也没有带来。如果我们只看 有什么+
,我们有这个:
+<<<<<<< HEAD
puts 'hola world'
+=======
+ puts 'hello mondo'
+>>>>>>> rerere2
这正是现在工作目录中的内容。