9

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将被忽略。)

4

2 回答 2

7

我不知道组合--statand的方法,但是除了 diffstat 之外--name-status,您还可以使用它来获取添加/删除/重命名/复制文件的列表。git log --stat --summary

于 2012-05-23T05:18:05.533 回答
0

git status我对and有类似的想法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 "/;"}')"
于 2014-02-05T16:03:12.997 回答