我想用git命令行得到这样的输出:
bcfd649de8850e3bfc9584eb12be8fe136ca6985 3 files changed, 8 insertions(+), 1 deletion(-)
我目前使用的是git log --shortstat --reverse --pretty=oneline
,但它实际上不是一行,注解对我来说毫无用处:
bcfd649de8850e3bfc9584eb12be8fe136ca6985 Added ActionController#cookies[] as a reader for @cookies that'll return the value of the cookie instead of
3 files changed, 8 insertions(+), 1 deletions(-)
有什么办法吗?
2条答案
按热度按时间t9aqgxwy1#
您可以定义自己的格式,只包含完整的散列,并将
git log
的输出通过管道传输到awk
(edit:或者sed
,正如jthill在他的评论中所建议的那样),以便在需要的地方用空格替换换行符(参见this):或
测试
balp4ylt2#
对于任何登陆这里寻求“如何获得git log one line full commit hash”的答案的人来说,正如我所做的那样,这里有一个
git log
的标志,它打印非缩写的提交哈希。它被称为--no-v-commit。文档如下:
显示完整的40字节十六进制提交对象名称。这将否定--v-commit,无论是显式的还是其他选项(如“--oneline”)所暗示的。它还将覆盖log. vCommit变量。
**TL;DR:**下面是一行完整提交哈希的输出命令:
git log --oneline --no-abbrev-commit
**注意:**一位匿名用户提出,由于
--oneline
使--no-abbrev-commit
标志对git
命令有意义,因此上述标志的顺序很重要。