下面是一个通常的git diff的输出结果:
$ git diff README.md
diff --git a/README.md b/README.md
index d29ab50..7e42b29 100644
--- a/README.md
+++ b/README.md
@@ -37,3 +37,4 @@
You can get it using command `hostname` in your remote robot:
$ hostname
+Enjoy it!
第一部分表示为你使用的git格式的diff:
diff --git a/README.md b/README.md
第二部分表示两个版本的git哈希值(index区域的d29ab50对象,与工作目录区域的7e42b29对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。
index d29ab50..7e42b29 100644
第三部分表示进行比较的两个文件:
--- a/README.md
+++ b/README.md
"---"表示变动前的版本,"+++"表示变动后的版本。
第四部分表示变动的位置,用两个@作为起首和结束:
@@ -37,3 +37,4 @@
前面的"-37,3"分成三个部分:减号表示第一个文件(即index区域的d29ab50对象),"37"表示第37行,"3"表示连续3行。合在一起,就表示下面是第一个文件从第37行开始的连续3行。同样的,"+37,4"表示变动后,成为第二个文件从第37行开始的连续4行。
最后一部分是具体的差异部分:
You can get it using command `hostname` in your remote robot:
$ hostname
+Enjoy it!
你可以对照着理解一下,虽然有些不同。
在你的输出结果中,第四部分@@@ -1,3 -1,1 +1,6 @@@
有点儿令人费解。最后一部分,你可以按照一楼所说的那样理解:
======= 是分割线
分割线以上到 <<<<<<< HEAD 有两行,表示你本地的 HEAD 里面加了两行内容
分割线以下到 >>>>>>> origin/master 没有内容,表示 origin remote 的 master branch 这个位置是空的