• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2014-01-10)  git Linux |   1 条评论  18 
    文章评分 0 次,平均分 0.0

    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 0c5ee16a6a4c849d0ae0448caa8ff174399c7c3c ./socket_helper.cpp
    diff --git a/data_service/src/socket_helper.cpp b/data_service/src/socket_helper.cpp
    index 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.其他空格开头的行表明没有差异。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/3051.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享