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