git diff的输出释义
作者:skyesx
链接:https://hacpai.com/article/1448379125382
来源:黑客派
协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/
修改一个文件,然后输入 git diff,有以下输出:
diff --git a/.gitignore b/.gitignore
index 78b6919..9937f3e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
src/main/webapp/skins/*
.project
.settings/
-#unchanged
+#changed~~~
第一行 :diff --git a/.gitignore b/.gitignore
表示执行 diff, 且输出格式为 git, 比较两个文件。
第二行:index 78b6919..9937f3e 100644
index 表示的含义不明, 78b6919 表示第一个文件 a 的指纹,9937f3e 表示第二个文件的指纹 100644 表示文件的权限,644
第三行 --- a/.gitignore 表示 - 号表示变动前版本
第四行 +++ b/.gitignore + 号表示变动后版本
第五行 @@ -10,3 +10,4 @@ -10,3 变动前版本的第 10 行开始,连续 3 行 +10,4 变动后的版本,第 10 行开始,连续 4 行
第六行及最后
src/main/webapp/skins/*
.project
.settings/
-#unchanged
+#changed~~~
+ 表示变动后的文件增加了这一行,- 号表示变动后的文件减去了这一行
REF: http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html
REF 的博文中有一点小问题,有这么一段描述 “index 区域的 6f8a38c 对象,与工作目录区域的 449b072 对象进行比较”,这个是不对的,因为即使把 modified 的文件加到 staged 后,显示依然没有改变,因此博文博主的说法有问题。那串 英文数字串代表的是文件的指纹,跟他在哪个区域无关,至于 index 我个人认为就是指代指纹的意思。