当前位置:   article > 正文

【git】diff git统计某两个提交记录之间的所有改动文件_git diff 与某一提交

git diff 与某一提交
git diff 比较命令——查看文件改动

    语法
    描述
    git diff [<options>] [--] [<path>…​] —— 工作区与暂存区比较
    git diff [<options>] <commit> [--] [<path>…​] —— 工作区与提交比较
    git diff [<options>] --cached [<commit>] [--][<path>…​] —— 暂存区与提交比较
    git diff [<options>] <commit> <commit> [--] [<path>…​] —— 提交与提交比较
    -U<n> 选项——显示 n 行上下文
    --output=<file> 选项——输出差异文件
    --shortstat 选项——仅显示修改文件的总数
    --name-only 选项——仅显示已更改文件的名称
    --name-status 选项——仅显示已更改文件的名称和状态
    -W 选项——显示完整的函数作为上下文
    -- <path> —— 限定比较文件
————————————————

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

想要统计某两次提交记录之间的所有改动文件,方便对线上项目进行增量更新。
设置quotepath为false

git config --global core.quotepath false

不然路径中存在中文时会显示为“\126\326\”这样的数字
在这里插入图片描述

获取提交记录的id

可以通过git log命令来查看,如下:

git log --stat
在这里插入图片描述

其中,commit后面的就是提交记录id

使用diff命令来列出两个版本之间的改动文件

git diff --numstat 674875f4bd91407408d19529e6757f4f3b0e3421 3043474c82dddae0d8795c9f1b732e90804b1cb0
在这里插入图片描述
参数说明

numstat表示以表格的形式展示改动文件,并且文件路径是完整路径

numstat后面接的是需要对比的两次提交记录的id,前后顺序没有关系

使用diff命令来统计两个版本之间的改动文件

git diff --shortstat 674875f4bd91407408d19529e6757f4f3b0e3421 3043474c82dddae0d8795c9f1b732e90804b1cb0
在这里插入图片描述

numstat相关的几个参数

git diff与git log后面都可以使用的几个常用参数

(1)stat

会展示改动文件的路径并统计改动文件个数,但是路径太长时会省略一部分路径,展示样式如下:

git diff --stat 674875f4bd91407408d19529e6757f4f3b0e3421 3043474c82dddae0d8795c9f1b732e90804b1cb0

在这里插入图片描述
(2)shortstat

会统计文件的改动情况,但是不会展示改动文件的路径,本文中已经有样例。

(3)numstat

以表格的形式展示改动文件的列表,会展示文件的完整路径,本文中已经有样例。

https://www.codenong.com/42458005/

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $head_commit_id $older_commit_id | xargs tar -cf project.tar -T -
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/976991
推荐阅读
  

闽ICP备14008679号