2015-03-30 9 views

Odpowiedz

6

Git nie oferuje żadnego mechanizmu do aliasingu podkomendy; zobacz stronę podręcznika użytkownika git-config.

Jednak istnieje trik dla osiągnięcia tego samego efektu: użyj małej owijkę wokół git binarny definiując polecenie powłoki zwany również git że robi to, co chcesz:

git() { 
    if [ "$1" = "stash" -a "$2" = "ls" ] 
    then 
     command git stash list 
    else 
     command git [email protected] 
    fi; 
} 

Nie dość, ale nie zadanie (testowane w jednym z moich repozytoriów):

# starting from a dirty working state... 
$ git stash save 
Saved working directory and index state WIP on master: 7c6655d add missing word in documentation 
HEAD is now at 7c6655d add missing word in documentation 
$ git stash ls 
[email protected]{0}: WIP on master: 7c6655d add missing word in documentation 

Należy zauważyć, że takie podejście nie jest bardzo solidne. W szczególności git stash list będzie nie być uruchamiany, jeśli istnieją inne argumenty linii poleceń między git i stash ls, jak w

git -C ~/Desktop stash ls 

Podejście powinno być wystarczające dla przypadku użycia, choć.

Aby uniknąć konieczności ponownego wpisywania definicji tej funkcji git przy każdym uruchomieniu powłoki, należy umieścić ją w jednym z plików skonfigurowanych do skonfigurowania powłoki.