Sae*_*ini 1 git msysgit backticks git-bash git-alias
这是一个演示我的问题的简单示例.如果我做:
git commit -m "`date --utc`"
Run Code Online (Sandbox Code Playgroud)
它执行date --utc
,并将结果放在提交消息中.
但是,当我将它别名为testcomit时:
git config --global alias.testcommit 'commit -m "`date --utc`"'
Run Code Online (Sandbox Code Playgroud)
执行git testcommit
不执行该`date --utc`
部分,而是将其逐字地放在提交消息中.
那么,如何让这个别名执行date --utc
?
从文档:
如果别名扩展以感叹号为前缀,则将其视为shell命令.
所以你可以使用:
git config --global alias.testcommit '!git commit -m "$(date --utc)"'
Run Code Online (Sandbox Code Playgroud)
请注意,您必须放入git
,因为您现在正在指定整个 shell命令.
($()
而不是反引号是不相关的,但它更好,所以你应该开始使用它.)