bash - git log --oneline 提供管道或重定向到文件时丢失的 HEAD 信息
问题描述
当我执行没有管道或文件重定向的 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
但是,当我通过 less 管道或将其重定向到文件中时,HEAD 和主信息就会消失。我试过重定向stderr以加入stdout,但这没有什么区别。
$ git log --oneline --color=never 2>&1 | /usr/bin/更多
8bc8511 Today # 12
1381438 Today # 11
d87d53a Today # 10
718aef9 Today # 9
b05e17e Today # 8
.....
2643d93 Initial commit
我想访问该信息,但是如何访问?
解决方案
使用--decorate
标志
git log --oneline --decorate --color=never | less
来自git 文档
--decorate[=short|full|auto|no]
打印显示的任何提交的引用名称。如果指定了short,则不会打印引用名称前缀refs/heads/、refs/tags/和refs/remotes/。如果指定了 full,则将打印完整的 ref 名称(包括前缀)。如果指定了 auto ,则如果输出将发送到终端,则显示参考名称,就好像给出了 short 一样,否则不显示参考名称。默认选项是短的。
未指定时的默认--decorate
值为自动,意思是“如果去终端添加 HEAD 信息,否则不要”。当您--decorate
不带参数指定时,它默认为short
,这是您在问题中引用的简短 HEAD 信息。
推荐阅读
- postgresql - SQLAlchemy 如何发送大数据
- css - 如何更改禁用的TextField Material UI React js的字体颜色
- python - 无法切片 numpy 数组
- java - 使用事务时对 MongoDB 服务器进行了多少次往返?
- ios - Swift - 显示每个 tableview 部分的特定数据
- angular - Ionic Firebase Cloudfunctions 时间戳
- c# - Windows 窗体 - 应用程序反应逐渐变慢
- android - 下载base64文件cordova android(通过javascript)
- groovy - 如何使用 groovy 语言打开 Web 浏览器并转到网站
- awk - 使用 Shell 脚本从文件中读取 SQL 语句块的更好方法是什么?