2014-10-07 130 views
9

我不時地打字輸入「git」,然後想一些其他的東西,然後鍵入例如「git checkout master」。當然,這給我留下了別名「git git」只是「git」?

$ git git checkout master 
git: 'git' is not a git command. See 'git --help'. 

Did you mean this? 
    init 
$ 

有沒有一種方法來創建一個名爲git一個Git別名是一個空操作?我已經嘗試了諸如「git = ''」和「git = ""」和「git = " "」這些明顯的字眼,但並不令人意外,它們都會導致像Expansion of alias 'git' failed; '' is not a git command這樣的回覆。

回答

14

我想出了答案:不是的別名,你只需要有劇本名爲git-git與內容的路徑:

#!/bin/bash 
git "[email protected]" 

所以當你說「git git」,GIT中尋找git-git,和將剩餘的參數傳遞給它。當然,通過遞歸,你可以很恍惚,並說「git」很多次,只要你喜歡:

$ git git git git git git git git git git git git status # <- still works 

更新: 昨天我打gitgit status進入。所以,當你在它的時候,不妨將符號鏈接git-git改爲gitgit。那不會無限期地鏈接,但仍然。

+2

你可以想到的任何令人討厭的副作用? – Jubobs 2014-10-07 16:27:59

+0

我想不出任何。它必須是破壞性的,很容易被拼錯爲「git」嗎? – Ben 2014-10-07 19:48:20

+0

我不知道。我只是問問。無論如何。總共; – Jubobs 2014-10-08 13:03:01