git diff 命令 输出解读

作者: Rethink | 来源:发表于2018-08-07 17:22 被阅读1次
# 数据准备
$ vi rainbow.txt
$ cat rainbow.txt
This is my rainbow.
Everybody has his own rainbow.

$ git add rainbow.txt

$ vi rainbow.txt
$ cat rainbow.txt
This is my rainbow.
Everybody has his own rainbow.
okay,It is your rainbow now.

# 查看工作区和暂存区当前文件的区别
$ git diff
diff --git a/rainbow.txt b/rainbow.txt
index c8686ac..5daa196 100644
--- a/rainbow.txt
+++ b/rainbow.txt
@@ -1,2 +1,3 @@
 This is my rainbow.
 Everybody has his own rainbow.
+okay,It is your rainbow now.

第一行:diff --git a/rainbow.txt b/rainbow.txt ,git diff实质上用的是diff的文本比较工具,其中a/diff.txt代表源文件,也就是修改前的文件, b/diff.txt代表比目标文件,也就是修改后的文件;
第二行:index c8686ac..5daa196 100644 , index后面两个z字符串表示两个文件的hash值,最后的数字是文件的权限和属性(?);
第三四行:---代表源文件,+++代表目标文件;
第五行:差异小结,@@ -1,2 +1,3 @@ ,分为两个部分,第一个是-1,2,-表示源文件,1,2表示从第一行开始的两行,后面的+1,3,则表示目标文件的第一行开始的三行内容。差异小结可能会有多个。

剩下的行都是具体的差异信息,其中以空格开头的行代表源文件与目标文件没有差异,以-开头 的行代表在源文件的基础上删除,以+开头代表在源文件基础上添加;

相关文章

网友评论

    本文标题:git diff 命令 输出解读

    本文链接:https://www.haomeiwen.com/subject/egyovftx.html