命令格式
1 | git diff [<options>] [--] [<path>..] # 默认表示比较工作区与暂存区 |
命令参数选项
–raw: 显示原始的差异格式,如下:
1
2
3[root@localhost gitTest]# git diff --cached --raw
:000000 100644 0000000 31d115c A addfile
:100644 100644 389cecf 1f09c93 M newfile2–stat: 显示差异统计结果,如下:
1
2
3
4[root@localhost gitTest]# git diff --cached --stat
addfile | 5 +++++
newfile2 | 3 +--
2 files changed, 6 insertions(+), 2 deletions(-)–shortstat: 只显示
--stat
的最后一行内容1
2[root@localhost gitTest]# git diff --cached --shortstat
2 files changed, 6 insertions(+), 2 deletions(-)–numstat: 只显示增加和删除的行数统计
1
2
3[root@localhost gitTest]# git diff --cached --numstat
5 0 addfile
1 2 newfile2–name-only: 只显示哪些文件有差异
1
2
3[root@localhost gitTest]# git diff --cached --name-only
addfile
newfile2
使用git diff打补丁
将工作区与本地仓库的差异做成补丁
git diff > patch_name
检验补丁是否能使用,如果没有任何输出表示可以顺利接受该补丁
git apply –check patch_name
在另外一个地方应用补丁
git apply patch_name
命令回显说明
git diff命令的回显采用的时GNU diff
命令合并格式
的变体
linux下通过diff -u file_a file_b
来显示diff
的合并格式
内容增删
1 | > git diff HEAD~1 HEAD |
新增文件
1 | diff --git a/newfile3 b/newfile3 |
删除文件
1 | diff --git a/newfile b/newfile |
重命名文件
1 | diff --git a/deletefile b/newfile2 |