git diff的输出释义

2018-11-29  本文已影响5人  赫子丰

作者: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 我个人认为就是指代指纹的意思。

上一篇 下一篇

猜你喜欢

热点阅读