我有一个像这样的git日志别名
log --graph --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %ci %an - %s''
制造
* 123456 2013-03-01 09:45:11 +0100 Name Surname - commit message 1
* 123457 2013-03-01 09:45:11 +0100 Name LongerSurname - commit message 2
* 123458 2013-03-01 09:45:11 +0100 Name Sho - commit message 3
我想获得不同的格式,即
* 123456 2013-03-01 09:45:11 Name Surname - commit message 1
* 123457 2013-03-01 09:45:11 Name LongerS - commit message 2
* 123458 2013-03-01 09:45:11 Name Sho - commit message 3
注意iso8601缺少GMT + 1规范,以及切割名称的时间长短以及填充短名称以保持日志消息对齐。
是否可以使用普通的git日志执行此操作?如果没有,实现它的最佳方法是什么?
答案 0 :(得分:4)
您可以使用ANSI转义码进行光标移动。您还必须调整寻呼机设置。
export LESS+=' -r' # Make sure your pager will accept ANSI escape codes
git log --graph \
--pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %ci %x1b[s%an%x1b[u%x1b[3C - %s'
使用的转义码如下:
使用这些转义字符重新定位光标后,以下文本将覆盖作者姓名的尾部,从而产生您想要的效果。
关于日期,请查看评论中的链接:How to change git log date formats