Git配置文件局部变量

时间:2014-03-21 10:27:38

标签: git git-alias

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

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

有许多类型的日志别名,但大多数都使用相同的格式。如何使用公共部分的内容定义局部变量?

理想情况下,我想避免使用环境变量

1 个答案:

答案 0 :(得分:3)

根据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