git log --oneline提供在管道传输或重定向到文件时丢失的HEAD信息

jm81lzqq  于 2022-11-20  发布在  Git
关注(0)|答案(1)|浏览(122)

当我执行git log --oneline命令时,没有管道或文件重定向,它会给出HEAD位置和分支的信息(下面例子中的master)

$ git log --oneline --color=never

8bc8511 (HEAD -> day_20190316) Today # 12
1381438 Today # 11
d87d53a Today # 10
718aef9 Today # 9
b05e17e Today # 8
....
2643d93 (master) Initial commit

然而,当我通过更少的管道传输它,或者将它重定向到一个文件中时,HEAD和master信息就消失了。
$ git log --oneline --颜色=从不2〉&1|/usr/bin/更多

8bc8511 Today # 12
1381438 Today # 11
d87d53a Today # 10
718aef9 Today # 9
b05e17e Today # 8
.....
2643d93 Initial commit

我很想得到这些信息,但是怎么做呢?

wfauudbj

wfauudbj1#

使用--decorate标志

git log --oneline --decorate --color=never | less

the git docs开始
--装饰[=短|满的|自动的|否]
打印出所显示的任何提交的引用名称。如果指定了short,则不会打印引用名称前缀refs/heads/、refs/tags/和refs/remotes/。如果指定了full,则将显示完整的引用名称(包括前缀)。如果指定auto,则如果输出将发送到终端,则会显示引用名称,就像给定了short一样。否则不显示引用名称。选项--decorion是--decorion =short的简写。如果已配置,则默认为log. decorion的配置值,否则为auto。
当没有指定--decorate时,默认值为auto,意思是“如果要进入终端,则添加HEAD信息,否则不添加”。当指定--decorate而不指定参数时,默认值为short,即问题中引用的简短HEAD信息。

相关问题