git diff

本文深入解析了Git diff命令的使用方法,包括如何比较不同版本的文件差异,以及如何查看哪些文件发生了变化。通过实际示例,读者可以学习到如何解读diff输出,理解源文件和目标文件之间的差异,并掌握如何使用--stat参数快速查看文件变更概览。

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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

git diff

可以用来比较:

staging area和working area的文件 (无其他参数时)

git diff

master分支和working area的文件 (用master参数)

git diff master 


HEAD指向的内容和working area的文件

git diff HEAD


用远程master分支比较当前工作区

git diff refs/remotes/origin/master

某个文件的历史版本和working area的该文件的比较

git diff 0c5ee16a6a4c849d0ae0448caa8ff174399c7c3c ./socket_helper.cpp
上面的命令中, diff后面的参数指的是commit id, ./socket_helper.cpp是要比较的文件路径。


两个commit id对比

git diff 09af67bcab06ad05056ea774dcd487933deb7372 1e496003ff6377618570611c950c1ac550c3899b -- .


旧的commit id建议放在前面,新的commit id放在后面


diff的命令输出格式

---代表源文件+++代表目标文件
通常working area的文件都是被当作目标文件来看待。

-开头的行,是只出现在源文件中的行

+开头的行,是只出现在目标文件中的行

空格开头的行,是源文件和目标文件中都出现的行

差异按照差异小结进行组织,每个差异小结的第一行都是定位语句,由@@开头,@@结尾。

chenshu@chenshu-yangzhou-home:~/kaimei/data_service/src$ git diff 0c5ee16a6a4c849d0ae0448caa8ff174399c7c3c ./socket_helper.cppdiff --git a/data_service/src/socket_helper.cpp b/data_service/src/socket_helper.cppindex d606452..047e213 100755--- a/data_service/src/socket_helper.cpp+++ b/data_service/src/socket_helper.cpp@@ -4,6 +4,7 @@ #include "data/login_response.h" #include "data/heartbeat_response.h" #include "helper/parser.h"+#include "helper/time_measure.h" #include <booster/log.h> #include "exception/socket_error.h" #include "exception/data_error.h"
上面的diff结果表明

1.某个提交记录0c5ee代表的socket_helper.cpp文件是源文件,当前working area的socket_helper文件是目标文件。

2.在源文件第4行开始的6行和目标文件第4行开始的7行构成一个差异小结

3.这个差异小结中,目标文件添加了一行#include "helper/time_measure.h"

4.其他空格开头的行表明没有差异。


diff 状态

很多时候,第一眼是要看有哪些文件变了,而不是看很多细节,可以用diff --tag参数


 git diff --stat 09af67bcab06ad05056ea774dcd487933deb7372 1e496003ff6377618570611c950c1ac550c3899b -- . dependency_network/README.org                                                       |  21 ------ dependency_network/graph.lsp                                                        | 171 ------------------------------------------------- dependency_network/graph.lsp.html                                                   | 134 -------------------------------------- dependency_network/index.html                                                       |  25 -------- dependency_network/pipeline.lsp                                                     |  15 ----- dependency_network/test/basic/test_graph.lsp                                        |  72 --------------------- dependency_network/test/url-counter/test.lsp                                        |  93 --------------------------- doc/url-counter.png                                                                 | Bin 9836 -> 9544 bytes doc/url-counter.txt                                                                 |  10 +-- "doc/\350\241\200\347\274\230\345\205\263\347\263\273\347\256\241\347\220\206.html" |  47 ++++++-------- "doc/\350\241\200\347\274\230\345\205\263\347\263\273\347\256\241\347\220\206.org"  |  30 ++++----- pipeline/README.org                                                                 |  21 ++++++ pipeline/graph.lsp                                                                  | 171 +++++++++++++++++++++++++++++++++++++++++++++++++ pipeline/graph.lsp.html                                                             | 134 ++++++++++++++++++++++++++++++++++++++ pipeline/index.html                                                                 |  25 ++++++++ pipeline/pipeline.lsp                                                               |  15 +++++ pipeline/test/basic/test_graph.lsp                                                  |  75 ++++++++++++++++++++++ pipeline/test/url-counter/test.lsp                                                  |  96 +++++++++++++++++++++++++++ 18 files changed, 577 insertions(+), 578 deletions(-)




           

给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值