Pracuję na gałęziach fabularnych, które mają irytujące wielkich nazwisk, więc często kończy się grepping moją obecną nazwę oddziału, kiedy trzeba wcisnąć się do gałęzi funkcji z mojego lokalnego oddziału funkcji, tak jak poniżej:Rury w dupie Alias?
git branch | grep '*' | sed 's/* //' | xargs git push origin
ten działa w porządku. Chcę, aby ten alias, więc zrobiłem to w ~/.gitconfig:
[alias]
pushcur = branch | grep '*' | sed 's/* //' | xargs git push origin
Teraz, kiedy biegnę git pushcur
, pojawia się następujący błąd:
usage: git branch [options] [-r | -a] [--merged | --no-merged]
prowadzi mnie do przekonania, że alias nie przetwarza poprawnie rur. Czy jest coś jeszcze, co powinienem zrobić, aby osiągnąć pożądany pseudonim?
Nie związane z rozwiązywaniem ogólnego problemu, ale w całkiem nowych wersjach gita, możesz skonfigurować 'push.default' (lub' push.origin.default', aby ograniczyć efekt do 'origin') do' current' (chociaż 'upstream' może być czasem bardziej odpowiedni). Zobacz sekcję push.default w [git-config] (https://www.kernel.org/pub/software/scm/git/docs/git-config.html). – torek
rozważ także użycie autouzupełniania bash do TAB od nazwy gałęzi! zsh z oh-my-zsh ma domyślnie;) – caesarsol