赞
踩
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> —— 限定比较文件 ————————————————
想要统计某两次提交记录之间的所有改动文件,方便对线上项目进行增量更新。
设置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 -
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。