git diff 结果分析

Posted ims-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git diff 结果分析相关的知识,希望对你有一定的参考价值。

git diff 的5个使用场景:

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

git diff  

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

git diff master 

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

git diff HEAD 

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

git diff refs/remotes/origin/master 

5.经常还要用到master分支的某个文件的历史版本和working area的该文件的比较

git diff 0c5ee16a6a4c849d0ae0448caa8ff174399c7c3c ./socket_helper.cpp 

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


diff的命令输出格式注意:

---代表源文件  
+++代表目标文件  

通常working area的文件都是被当作目标文件来看待。

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

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

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

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


以上是关于git diff 结果分析的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上的 Git Bash 中退出“git diff”的结果? [复制]

获取合并提交的git diff输出结果

如何提交两个分支的“git diff”?

sh grep for git log中的一个字符串,使用awk从结果中打印哈希,使用hash来git显示diff

sh grep for git log中的一个字符串,使用awk从结果中打印哈希,使用hash来git显示diff

git diff 显示中文乱码