我设置了两个git log
别名:一个显示--name-status
:
...
| A path/to/yourfile.c
| M path/to/myfile.c
| M path/to/my/otherfile.c
...
和一个显示--stat
:
...
| path/to/yourfile.c | 2 ++
| path/to/myfile.c | 2 +-
| path/to/my/otherfile.c | 27 +++++-----
...
是否可以将两者合并?
...
| A path/to/yourfile.c | 2 ++
| M path/to/myfile.c | 2 +-
| M path/to/my/otherfile.c | 27 +++++-----
...
我喜欢--stat
概述,但它并没有告诉我是否添加或删除了文件;只是他们在某种程度上被修改了。
(组合两个命令行标志时,忽略--stat
。)
答案 0 :(得分:7)
我不知道如何合并--stat
和--name-status
,但您可以使用git log --stat --summary
获取已添加/删除/重命名/复制的文件列表diffstat。
答案 1 :(得分:0)
我对git status
和git diff --stat
有类似的想法。有人帮我提出了:
git status | sed -e "$(git diff --stat | sed -e 's#/#\\/#g' | awk '/\|/ {print "s/" $1 "/" $0 "/;"}')"
我尝试用你的git log命令替换它,但是它们太长了(因为它被分页)。如果您使用-n5
缩短日志(仅显示最后5次提交),这是一个良好的开端
git log --name-only -n5| sed -e "$(git log --stat -n5 | sed -e 's#/#\\/#g' | awk '/\|/ {print "s/" $1 "/" $0 "/;"}')"