当我执行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
我很想得到这些信息,但是怎么做呢?
1条答案
按热度按时间wfauudbj1#
使用
--decorate
标志从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信息。