GIT日志 - 在线提供管道或重定向到文件时丢失的头部信息



当我执行没有管道或文件重定向的git log -oneline命令时,它提供了有关Head位置和分支的信息(下面的示例中的主机)

 $ 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

但是,当我将其少处理或将其重定向到文件中时,头部和主信息就会消失。我已经尝试将STDERR重新定向加入Stdout,但这没有区别。

$ git log -oneline -color =从不2>& 1 |/usr/bin/more

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

我想访问这些信息,但是如何?

使用 --decorate flag

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

来自git docs

- 装饰[= short | full | auto | no]

打印出所显示的任何提交的参考名称。如果指定了简短,则不会打印REF NAME前缀REFS/HEADS/,REFS/TAGS/和REFS/遥控器/不会打印。如果指定完整,将打印完整的REF名称(包括前缀)。如果指定了自动,则输出要进入终端,则ref名称显示为"给出短短",否则未显示REF名称。选项 - 固定型 - 代理=短。默认为log的配置值。定制如果配置,否则,auto。

未指定--decorate的默认值是自动的,含义为"如果要到终端,则添加头部信息,否则不要'。当您在没有参数的情况下指定--decorate时,它默认为short,这是您在问题中引用的简短信息。

最新更新