2014-10-07 21 views
9

Ogni tanto arrivo a digitare "git", quindi penso a qualcos'altro, quindi digita ad es. "git checkout master". Naturalmente, questo mi lascia conAlias ​​"git git" a solo "git"?

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

Did you mean this? 
    init 
$ 

C'è un modo per creare un alias di nome git git che è un no-op? Ho provato l'ovvio come "git = ''" e "git = """ e "git = " "" ma non sorprendentemente, tutti i risultati in risposte come Expansion of alias 'git' failed; '' is not a git command.

risposta

14

ho capito la risposta: Invece di alias, è solo bisogno di avere script denominato git-git nel vostro percorso con il contenuto:

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

in modo che quando si dice "git git", git cerca i git-git, e passa gli argomenti rimanenti ad esso. Naturalmente, per la ricorsione, si può essere molto distratto e dire "git" tutte le volte che ti piace:

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

Aggiornamento: Ieri mi ha colpito entrare in gitgit status. Quindi, mentre ci sei, potrebbe anche simulare git-git a gitgit. Ciò non si concatena indefinitamente, ma ancora.

+2

Eventuali effetti collaterali sgradevoli che si possono immaginare? – Jubobs

+0

Non riesco a pensare a nessuno. Dovrebbe essere qualcosa di distruttivo che potrebbe facilmente essere scritto erroneamente come "git" giusto? – Ben

+0

Non lo so. Stavo solo chiedendo. +1 comunque. – Jubobs