2014-10-07 82 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