git diff 输出格式详解

2018-6-13 23:11| 发布者: admin| 查看: 300| 评论: 0|来自: 蚂蚁部落

本文仅关注git diff 输出内容格式的含义,并不会介绍gid diff具体使用语法。

有名称为readme.txt的文件,暂存区内容如下:

[HTML] 纯文本查看 复制代码
蚂蚁部落一
蚂蚁部落二
蚂蚁部落三
蚂蚁部落四
蚂蚁部落五
蚂蚁部落六
蚂蚁部落七
蚂蚁部落八
蚂蚁部落九
蚂蚁部落十

将工作区中对应文件的第六行修改为"蚂蚁部落",具体如下:

[HTML] 纯文本查看 复制代码
蚂蚁部落一
蚂蚁部落二
蚂蚁部落三
蚂蚁部落四
蚂蚁部落五
蚂蚁部落
蚂蚁部落七
蚂蚁部落八
蚂蚁部落九
蚂蚁部落十

现在使用如下命令:

[Shell] 纯文本查看 复制代码
$ git diff

上述命令将会比较暂存区和工作区文件的差别,截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201803/12/150847i1s31wsgbcwcwj1c.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

下面逐行介绍一下输出内容的含义:

[Shell] 纯文本查看 复制代码
index 95a6bf0..46e608d 100644:

95a6bf0表示暂存区的哈希值,100644表示对象模式,100表示普通文件,644代表一个权限。

[Shell] 纯文本查看 复制代码
--- a/readme.txt
+++ b/readme.txt

---表示变化前的版本。

+++表示变化后的版本。

[Shell] 纯文本查看 复制代码
@@ -3,7 +3,7 @@

标识内容变动发生的区域:

"-3,7":减号表示变化前的文件,3表示第三行,7表示连续七行,也就是从第三行(包括)开始,连续7行。

"+3,7":加号表示变化后的文件,3表示第三行,7表示连续七行,也就是从第三行(包括)开始,连续7行。

位置:如何确定3和7这个位置,原则是除去当前文件变动的一行外,上下各取3行。

a:3:{s:3:\"pic\";s:43:\"portal/201803/12/153349xe6zpfpf6xepxfp3.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

(1).空格开头标识行行内容无变化。

(2).减号(-)开头标识原来版本文件删除的行。

(3).加号(+)开头标识修改后版本文件添加的行。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部