我有一组不同类型日志的别名,例如:
lg = log --graph --pretty=format:'%C(cyan)%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(red)<%an>%Creset' --abbrev-commit --date=relative
unreleased = !git --no-pager log --graph --pretty=format:'%C(cyan)%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(red)<%an>%Creset' --abbrev-commit --date=relative release..master
有许多类型的日志别名,但大多数都共享相同的格式。如何用公共部分的内容定义局部变量?
理想情况下,我希望避免为此使用环境变量
最佳答案
根据this question,git-config不支持变量的扩展。但是,您可以使用公共部分定义别名:
lg = log --graph --pretty=format:'%C(cyan)%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(red)<%an>%Creset' --abbrev-commit --date=relative
然后将其他别名定义为使用公用别名的shell命令:
unreleased = !git --no-pager lg release..master
顺便说一下,指定
--date=relative
没有效果,因为日志格式中的%cr
根据定义是相对日期。例如,这也意味着--date=short
不会产生任何影响。如果希望其他别名能够更改日期格式,则需要使用%cd
。