在 Pro Git 中,Scott Chacon 给出了一些可能有用的别名的好例子,包括一个显示最后一次提交的例子:git last
相当于log -1 HEAD
:
git config --global alias.last 'log -1 HEAD'
它将显示如下内容:
$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date: Tue Aug 26 19:48:51 2008 +0800
test for current head
我阅读了一些关于堆栈溢出的类似问题,例如将参数传递给 Git 别名命令,但仍然无法弄清楚这一点。
我能想出的最好办法是.gitconfig
按如下方式修改我的文件:
[alias]
last = log -1 HEAD
mylast = "!sh -c 'echo /usr/local/bin/git last -$0 HEAD'"
然后,如果我在命令行运行它:
$ git mylast 12
我明白了:
/usr/local/bin/git last -12 HEAD
这实际上看起来是对的。但是如果我删除echo
前面的,它就会像等待输入一样挂起。我尝试切换$0
,$1
但这似乎也没有帮助。
我究竟做错了什么?
另外,有没有办法设置它,如果我只输入git last
没有数字,那么它会默认为“1”?