在Git别名中使用反引号命令执行

时间:2014-09-28 10:36:53

标签: git msysgit git-bash backticks git-alias

这是一个展示我的问题的简单示例。如果我这样做:

git commit -m "`date --utc`"

执行date --utc,并将结果放在提交消息中。

但是,当我将它别名为testcomit时:

git config --global alias.testcommit 'commit -m "`date --utc`"'

执行git testcommit不会执行`date --utc`部分,而是将其逐字地放在提交消息中。

那么,如何让这个别名执行date --utc

1 个答案:

答案 0 :(得分:7)

来自the documentation

  

如果别名扩展以感叹号作为前缀,则将其视为shell命令。

所以你可以使用:

git config --global alias.testcommit '!git commit -m "$(date --utc)"'

请注意,您必须将git放在那里,因为您现在正在指定整个 shell命令。

$()而不是反引号是无关的,但它更好,所以你应该开始使用它。)