比较两个树对象中找到的 blob 的内容和模式。

第61.1节:查看特定提交中更改的文件

git diff-tree --no-commit-id --name-only -r COMMIT_ID

第61.2节:用法

git diff-tree [--stdin] [-m] [-c] [--cc] [-s] [-v] [--pretty] [-t] [-r] [--root] [<common-diff-options>] <tree-ish> [<tree-ish>] [<path>...]
选项 说明
-r 递归比较
--root 包括初始提交,将其与 /dev/null 进行比较

第61.3节:常见差异选项

选项 说明
-z 输出以 NUL 结尾的 diff-raw 格式。
-p 输出 patch 格式。
-u 与 -p 相同。
--patch-with-raw 输出 patch 和 diff-raw 格式。
--stat 显示 diffstat 而不是 patch。
--numstat 显示数字 diffstat 而不是 patch。
--patch-with-stat 输出 patch 并在其前面添加 diffstat。
--name-only 只显示更改文件的名称。
--name-status 显示更改文件的名称和状态。
--full-index 在索引行上显示完整的对象名称。
--abbrev=<n> 在 diff-tree 标头和 diff-raw 中缩写对象名称。
-R 交换输入文件对。
-B 检测完整的重写。
-M 检测重命名。
-C 检测复制。
--find-copies-harder 尝试将未更改的文件作为复制检测的候选文件。
-l<n> 限制重命名尝试的路径数。
-O 根据 . 重新排序差异。
-S 查找只有一边包含字符串的文件对。
--pickaxe-all 使用 -S 时,如果找到匹配项,则显示所有文件的差异。
-a --text 将所有文件视为文本。