获取某两个提交的不同
usage: git diff [<options>] [<commit>] [--] [<path>...]
or: git diff [<options>] --cached [<commit>] [--] [<path>...]
or: git diff [<options>] <commit> [--merge-base] [<commit>...] <commit> [--] [<path>...]
or: git diff [<options>] <commit>...<commit>] [--] [<path>...]
or: git diff [<options>] <blob> <blob>]
or: git diff [<options>] --no-index [--] <path> <path>]
common diff options:
-z output diff-raw with lines terminated with NUL.
-p output patch format.
-u synonym for -p.
--patch-with-raw
output both a patch and the diff-raw format.
--stat show diffstat instead of patch.
--numstat show numeric diffstat instead of patch.
--patch-with-stat
output a patch and prepend its diffstat.
--name-only show only names of changed files.
--name-status show names and status of changed files.
--full-index show full object name on index lines.
--abbrev=<n> abbreviate object names in diff-tree header and diff-raw.
-R swap input file pairs.
-B detect complete rewrites.
-M detect renames.
-C detect copies.
--find-copies-harder
try unchanged files as candidate for copy detection.
-l<n> limit rename attempts up to <n> paths.
-O<file> reorder diffs according to the <file>.
-S<string> find filepair whose only one side contains the string.
--pickaxe-all
show all files diff when -S is used and hit is found.
-a --text treat all files as text.
显示文件名和修改状态,包括(重命名、添加、删除等)示例:
git diff 0287f50f s3acc594 --name-status
如果只需要获取文件名:
git diff 0287f50f s3acc594 --name-only
--numstat
显示增加、减少的行数