下面是一个通常的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 这个位置是空的