2
在Pro的Git斯科特查孔给出some alias which might be helpful一些很好的例子,其中一个,显示最后一次提交:git last
这是log -1 HEAD
等价的:如何为接受数字作为参数的“git last”设置别名?
git config --global alias.last 'log -1 HEAD'
它会显示这样的事情:
$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <[email protected]>
Date: Tue Aug 26 19:48:51 2008 +0800
test for current head
我读了一些堆栈溢出像Pass an argument to a Git alias command类似的问题,但还没有能够解决这个问题。
我能想出是修改我的.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”?
不错!如果没有指定参数,可以通过任何方式默认设置为1? – cwd 2012-03-05 04:13:37
当然。将它从'$ 1'改为'$ {1:-1}'。 – Amber 2012-03-05 04:15:25
(如果你想,你可以将'HEAD'改为'$ {2:-HEAD}',这会让你有能力请求任意分支的'git last 2'。) –
Amber
2012-03-05 04:18:31