Czy istnieje skrót, aby powiedzieć Gitowi, aby przesunął bieżącą gałąź śledzenia do początku?
Uwaga: Wiem, że mogę zmienić domyślne zachowanie push , ale szukam rozwiązania ad-hoc, które nie zmienia domyślnego zachowania.
Załóżmy na przykład, że jestem na gałęzi feature/123-sandbox-tests
, której będę używać
git push origin feature/123-sandbox-tests
co jest nużące. Szukam skrótu, coś w rodzaju
git push origin current
gdzie git wie, że jest prąd feature/123-sandbox-tests
.
Edycja : Począwszy od wersji 2.0 domyślne zachowanie git zmieniło się na bardziej intuicyjne, co chciałem osiągnąć. Zobacz to pytanie SO, aby uzyskać szczegółowe informacje.
Edycja 2 : odpowiedź ceztko jest najlepszą odpowiedzią, ponieważ pozwala przesuwać bieżącą gałąź, niezależnie od ustawień.
git push
wypychania tylko bieżącej gałęzi, ale na innych komputerach możesz przypadkowo wypchnąć wszystkie pasujące gałęzie.co
, więc jeśli spróbuję nawet rozwinąć, a następnie sprawdzić kod bez mojego~/.gitconfig
pliku na tej maszynie wirtualnej, natychmiast go poznam. To pozwala mi czuć się bezpiecznie przy zmianie domyślnej wartości push naupstream
.@
, co jest udokumentowane jako prawidłowy alias doHEAD
. (np.git push -u origin @
)Możesz skonfigurować git, aby przekazywał do bieżącej gałęzi za pomocą następującego polecenia
to po prostu zrób
spowoduje to wypchnięcie kodu do twojego aktualnego oddziału.
źródło
push = refs/heads/current:refs/for/master/current
do „zdalnej” sekcji w .git / config? To znaczy, czy „aktualne” jest tutaj szczególnym słowem? Czy będzie szukał gałęzi o nazwie „prąd”?git push -u origin feature_branch_name
aby skonfigurować upstream / śledzenie! Jeśli używasz przynajmniej zdalnego repozytorium.Powinieneś spojrzeć na podobne pytanie w Domyślnym zachowaniu „git push” bez określonej gałęzi
Zasadniczo wyjaśnia, w jaki sposób ustawić domyślne zachowanie, aby wypychać bieżący oddział tylko do działania
git push
. Prawdopodobnie potrzebujesz:git config --global push.default current
Inne opcje:
źródło
Używam takiego aliasu w mojej konfiguracji .bashrc
Na polecenie
$gpb
pobiera bieżącą nazwę gałęzi i wypycha ją do źródła.Oto moje inne pseudonimy:
źródło
Dla tego, co jest warte, najlepszy skrót:
W moim
.bash_profile
mamalias push="git push origin HEAD"
, więc za każdym razem, gdypush
piszę, wiem, że naciskam na bieżący oddział, w którym jestem.źródło
Jeśli używasz git 1.7.x, możesz uruchomić następujące polecenie, aby ustawić gałąź zdalnego śledzenia.
Następnie możesz po prostu użyć
git push
do popchnięcia wszystkich zmian. Aby uzyskać bardziej kompletną odpowiedź, zobacz akceptowaną odpowiedź na podobne pytanie tutaj.Jeśli chcesz tylko wypchnąć bieżącą gałąź za pomocą polecenia push, możesz zmienić zachowanie push na upstream:
źródło
git config --global push.default upstream
ustawia zachowanie push tak, aby wypychało tylko bieżącą gałąź.Najprostszy sposób: uruchom
git push -u origin feature/123-sandbox-tests
raz. To popycha gałąź w sposób, w jaki jesteś do tego przyzwyczajony, a także ustawia informacje o śledzeniu wysyłania w lokalnej konfiguracji. Następnie możesz po prostugit push
wcisnąć śledzone gałęzie do ich zdalnych pilotów.Możesz to również zrobić w konfiguracji samodzielnie, ustawiając
branch.<branch name>.merge
nazwę zdalnego oddziału (w twoim przypadku taką samą jak nazwa lokalna) i opcjonalniebranch.<branch name>.remote
na nazwę zdalnego, na który chcesz pchać (domyślnie do źródła). Jeśli spojrzysz na swoją konfigurację, najprawdopodobniej jest już jeden z tych zestawówmaster
, więc możesz pójść za tym przykładem.Na koniec upewnij się, że wziąłeś pod uwagę
push.default
ustawienie. Domyślnie jest to „dopasowanie”, które może mieć niepożądane i nieoczekiwane wyniki. Większość ludzi, których znam, uważa, że „upstream” jest bardziej intuicyjny, co popycha tylko obecną gałąź.Szczegóły dotyczące każdego z tych ustawień można znaleźć na stronie man git-config .
Po namyśle, po ponownym przeczytaniu twojego pytania, myślę, że wiesz wszystko. Myślę, że to, czego tak naprawdę szukasz, nie istnieje. Co powiesz na funkcję bash coś takiego (niesprawdzony):
źródło
Za pomocą odpowiedzi Ceztko napisałem tę funkcję pomocnika, aby ułatwić mi życie:
Pcha bieżącą gałąź do początku, a także ustawia gałąź zdalnego śledzenia, jeśli nie została jeszcze skonfigurowana.
źródło