git diff 命令 输出解读

本文通过一个简单的例子详细介绍了如何使用Git diff命令来查看工作区和暂存区文件的区别。通过对比不同版本的文件内容,读者可以了解到Git diff的具体输出含义及其在版本控制中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 数据准备
$ 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,则表示目标文件的第一行开始的三行内容。差异小结可能会有多个。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值