我想用git命令行得到这种输出:
bcfd649de8850e3bfc9584eb12be8fe136ca6985 3 files changed, 8 insertions(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)
我目前正在使用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(-)
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
Roj*_*Gh. 24
对于任何登陆这里寻求“如何获取 git log 一行完整提交哈希值”答案的人来说,就像我所做的那样,有一个标志可以git log打印非缩写的提交哈希值。
它被称为--no-abbrev-commit。文档内容如下:
显示完整的 40 字节十六进制提交对象名称。这会否定 --abbrev-commit,无论是明确的还是由其他选项(例如“--oneline”)暗示的。它还会覆盖 log.abbrevCommit 变量。
TL;DR:这是带有完整提交哈希的一行输出的命令:
git log --oneline --no-abbrev-commit
注意:一位匿名用户提出,上述标志的顺序很重要,因为这--oneline使得--no-abbrev-commit标志对git命令有意义。
您可以定义自己的格式仅由完整的哈希值,以及管道输出git log到awk(编辑:或者sed,在他的评论中提出jthill),以便用空格在需要的地方,以取代换行符(见本):
git log --pretty=tformat:"%H" --shortstat | awk 'ORS=NR%3?" ":"\n"'
Run Code Online (Sandbox Code Playgroud)
要么
git log --pretty=tformat:"%H" --shortstat | sed 'N;N;y/\n/ /'
Run Code Online (Sandbox Code Playgroud)
git log --pretty=tformat:"%H" --shortstat | sed 'N;N;y/\n/ /'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4079 次 |
| 最近记录: |