Mam widelec ( origin
) z projektu ( upstream
) na github. Teraz projekt nadrzędny dodał nową gałąź, którą chcę zaimportować do mojego forka. W jaki sposób mogę to zrobić?
Próbowałem sprawdzić pilota i utworzyć gałąź na szczycie, ale to konfiguruje gałąź w sposób, w jaki git push
próbuje się wypchnąć do upstream
:
git checkout upstream/branch
git checkout -b branch
edytować
Być może nie było to jasne, ale chcę dodać gałąź do mojego lokalnego repozytorium, aby móc przesłać ją do origin
(mojego forka) za pośrednictwem git push
. Ponieważ repozytoria nadrzędne są zwykle tylko do odczytu i należy je rozwidlać, aby wnieść swój wkład.
Więc w zasadzie chcę wyewidencjonować nieistniejącą gałąź, z origin
której zawartość zostanie pobrana upstream
.
git fetch upstream
jest to lepsza opcja na pierwszym etapie, ponieważgit pull upstream
wymaga wykonania większej liczby czynnościgit remote add ...
dlaupstream
.You asked to pull from the remote 'upstream', but did not specify a branch. Because this is not the default configured remote for your current branch, you must specify a branch on the command line.
Dodanie nazwy gałęzi na końcu polecenia powoduje scalenie gałęzi w górę z bieżącą gałęzią lokalną zamiast pozwolić na utworzenie nowej gałęzi lokalnej. Jakieś pomysły?git pull upstream
zgit fetch upstream
rozwiązał problem, a następujące kroki pracował.użyłbym
źródło
Ja też miałem z tym problem i Google zabrał mnie tutaj. Rozwiązania jednak nie zadziałały. Mój problem polegał na tym, że kiedy dodałem mój upstream, skonfigurowałem moją konfigurację git tak, aby pobierała tylko master, a nie wszystkie gałęzie. np. tak to wyglądało
Edycja pliku .git / config w następujący sposób rozwiązała mój problem
źródło
Poniższe kroki zadziałały dobrze (zakładając, że nazwa gałęzi upstream to
branch
):źródło
--track
?źródło
push
pusing doupstream
.Miałem nieco bardziej skomplikowany scenariusz, w którym miałem już
upstream
zdefiniowany w moim forku (z repozytorium kanonicznego), ale musiałem pobrać gałąź z innego forka. Aby to zrobić, proces jest nieco inny. Oto konfiguracja, z którą skończyłem:Teraz możesz również pobrać gałąź z
<other_user>
widelca.To da ci lokalną gałąź, która pochodzi z rozwidlenia.
Aby wypchnąć tę lokalną gałąź, musiałem być konkretny w moim poleceniu push.
źródło