git diff 简单用法

Posted

tags:

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

git diff ----------------用来比较,用法:

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的命令输出格式注意:

  1.---代表源文件

  2.+++代表目标文件

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

 

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

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

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

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

[plain] view plaincopy
 
 
  1. [email protected]:~/kaimei/data_service/src$ git diff 0c5ee16a6a4c849d0ae0448caa8ff174399c7c3c ./socket_helper.cpp  
  2. diff --git a/data_service/src/socket_helper.cpp b/data_service/src/socket_helper.cpp  
  3. index d606452..047e213 100755  
  4. --- a/data_service/src/socket_helper.cpp  
  5. +++ b/data_service/src/socket_helper.cpp  
  6. @@ -4,6 +4,7 @@  
  7.  #include "data/login_response.h"  
  8.  #include "data/heartbeat_response.h"  
  9.  #include "helper/parser.h"  
  10. +#include "helper/time_measure.h"  
  11.  #include <booster/log.h>  
  12.  #include "exception/socket_error.h"  
  13.  #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.其他空格开头的行表明没有差异。

以上是自己没看懂书马克大牛的,差距啊。多多努力吧

 

 

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

Git diff 用法

git解决冲突和diff用法

git简单用法

git的简单用法之一 克隆

git的简单用法之一 克隆

git的一些简单用法