Wszyscy ci „inny inny” w oryginalne pytanie, odpowiedź i wiele komentarzy są tak mylące (który jest doskonałym przykładem dlaczego to jest ważne, aby nazywać swoje rzeczy w pierwszej kolejności), nie mogę pomóc (nie zamierzam) pomóc w napisaniu kolejnej odpowiedzi, jak poniżej.
P: Czy istnieje sposób w repozytorium git (bare) do wypychania gałęzi, która jest nie w HEAD teraz? Na przykład mam dwie gałęzie i dwa piloty. Muszę być w stanie odeprzeć od feature
do upstream/feature
tylko w jednym poleceniu bez zmiany HEAD.
$ git branch
* master
feature
$ git remote
origin
upstream
O: Zrób to.
$ git push upstream feature
P: Czy to oznacza, że będzie naciskać lokalny feature
do upstream/feature
? Zawsze myślałem, że popchnie bieżącą HEAD do upstream/feature
.
O: Tak. Część feature
jest refspec, która na ogół ma postać src:dst
. Oznacza to przeniesienie lokalnego oddziału src
do odległego oddziału dst
. Jeśli pominięto :dst
, lokalny oddział src
jest przekazywany do odległego oddziału src
. Możesz również określić inną nazwę jako gałąź zdalna. Wystarczy zrobić:
$ git push upstream feature:cool_new_feature
(dzięki @ Gabriele-Petronella i @alexkey za dostarczenie materiałów do tej odpowiedzi.)
Można rozważyć nie mają dokładnie taką samą nazwę dla pilota i gałęzi. To wprowadza zamieszanie. –
Możesz użyć 'git branch -m another another_branch' lub' git remote zmień nazwę another_remote innego ' –
@KlasMellbourn, to tylko dla celu przykładu. Oczywiście nie mam tego dziwnego nazewnictwa. – AlexKey