我一直在修改一些 git
命令的 log
别名。我有我想要的大部分东西 (credit here),但我在一件上遇到了麻烦。当我打电话
git log --graph --format=format:'%h - [%ar] %s%+d'
我得到
* ab123f - [6 hours ago] Fix the references
| (HEAD, origin/master, master)
* bc123f - [8 hours ago] New build syntax
* cd123f - [10 hours ago] Initial import
其中
%+d
添加一个新行并在其上放置 --decorate
标签(如果存在)。我想要的是标签与时间戳一致,如下所示:* ab123f - [6 hours ago] Fix the references
| (HEAD, origin/master, master)
* bc123f - [8 hours ago] New build syntax
* cd123f - [10 hours ago] Initial import
我该如何实现?如果没有
--decorate
标签,我不想要额外的换行符。我一直在试验各种 format placeholders: %+d
、 %-d
、 %+ d
(这不起作用); %>(<N>)
, %>>(<N>)
的排列;等等,但我不能让它做我想做的事。为简单起见,颜色和进一步的提交信息已被删除,但它们似乎干扰了 torek's answer. 完整命令如下:
git log --graph --format=format:'%C(bold yellow)%h%C(reset) - %C(green)(%ar)%C(reset) %s %C(white)<%an>%C(reset)%C(auto)%+d%C(reset)'
最佳答案
%w 如下似乎可以解决问题。
git log --graph --format=format:'%h - [%ar] %-s%w(0,0,9)%+d'
Git 版本 1.8.5.2
关于git - git log 格式的可选缩进换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22415347/