我有一组不同类型日志的别名,例如:

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 questiongit-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

08-26 21:49