fatal: gałąź upstream bieżącej gałęzi nie pasuje do nazwy bieżącej gałęzi
Po wykonaniu kasy zdalnej gałęzi releases/rel_5.4.1
przy użyciu GUI Git, pojawia się nieoczekiwany komunikat o błędzie, gdy próbuję push
:
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push origin HEAD:releases/rel_5.4.1
To push to the branch of the same name on the remote, use
git push origin rel_5.4.1
Nie wiem, o czym Git mówi. Prawdopodobnie chcę przesunąć do origin releases/rel_5.4.1
, ponieważ jest to gałąź, którą sprawdziłem. Więc żadna z opcji nie wydaje mi się poprawna.
git status
mówi, że jestem na branch rel_5.4.1
.
Oto gałąź, jaka pojawia się w moim .git/config
:
[branch "rel_5.4.1"]
remote = origin
merge = refs/heads/releases/rel_5.4.1
Co się dzieje? 5 answers
Z korzyścią dla czytelników, którzy mogą pominąć prawdopodobnie najważniejszy szczegół, dobrze ukryty w komentarzach:
Wynika to z git config push.default
ustawienie. określa, co git
robi, gdy wchodzisz git push
(zobacz link ).
W pytaniu najwyraźniej ustawienie zostało ustawione na simple
(co jest domyślne dla git v2
), prawdopodobnie z
git config --global push.default simple
Oznacza to, że git
odmawia wciśnięcia, gdy lokalna i zdalna gałąź nie pasuje dokładnie. Na pozwala na naciśnięcie do gałęzi śledzącej, dzięki czemu tworzą git pull
i git push
symetryczne , używają
git config --global push.default upstream
Uwaga: Zostaw --global
, aby zmienić ustawienie bieżącego (lokalnego) repozytorium git
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-09 11:34:14
Twoja lokalna gałąź nazywa się rel_5.4.1
, ale odległa gałąź to releases/rel_5.4.1
(jeśli chodzi o Git, /
nie ma specjalnego znaczenia w nazwach gałęzi, poza tym, aby były łatwiejsze do odczytania dla ludzkiego oka).
Kiedy naciskasz, Git nie jest świadomy, czy chcesz wcisnąć swoją gałąź do releases/rel_5.4.1
(Nazwa zdalnej gałęzi), czy też chcesz utworzyć nową gałąź zdalną. Zwraca jednak uwagę na podobieństwo imion.
Jeśli nie chcesz utworzyć nowej gałęzi, poprawne polecenie is
git push origin HEAD:releases/rel_5.4.1
Możesz również użyć
git push origin rel_5.4.1:releases/rel_5.4.1
Aby naprawić Ostrzeżenie raz na zawsze, Zmień nazwę lokalnej gałęzi, aby pasowała do nazwy zdalnej:
git branch -m releases/rel_5.4.1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-21 13:01:23
Ten błąd można naprawić raz na zawsze, używając:
git branch releases/rel_5.4.1 -u origin/releases/rel_5.4.1
Zmienia upstream gałęzi, aby dopasować poprawny pilot (ponownie).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-29 10:18:37
W moim przypadku git branch --unset-upstream
rozwiązałem ten problem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-17 10:34:10
Wydaje się, że posiadanie lokalnej nazwy gałęzi, która różni się od zdalnego, nie jest tym, co Git
lubi zbytnio. Będziesz musiał wydać:
git push origin HEAD:releases/rel_5.4.1
Explicitely on every push
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-21 12:48:19