Git: Merge a Remote branch locally
Wyciągnąłem wszystkie zdalne gałęzie przez git fetch --all
. Widzę gałąź, którą chcę połączyć poprzez git branch -a
jako remotes/origin / branchname. Problemem jest to, że nie jest dostępna. Nie mogę się połączyć ani wymeldować?
4 answers
Możesz odwoływać się do tych zdalnych gałęzi ~(wymienionych za pomocą git branch -r
) z nazwą ich zdalnego śledzenia.
Jeśli chcesz połączyć jedną z tych zdalnych gałęzi w lokalnej gałęzi:
git checkout master
git merge origin/aRemoteBranch
Jeśli chcesz scalić jedną z lokalnych gałęzi na jednej z tych gałęzi zdalnych, musisz najpierw utworzyć lokalną gałąź na górze wspomnianej gałęzi zdalnej:
git checkout -b myBranch origin/aBranch
git merge myBranch
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-09-17 21:26:35
Ilekroć wykonuję merge, dostaję się do gałęzi, do której chcę się merge (np. " git checkout branch-i-am-working-in
") i wykonuję następujące czynności:
git merge origin/branch-i-want-to-merge-from
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-12-11 11:08:11
Może chcesz śledzić zdalną gałąź z lokalną gałąź:
- Utwórz nową lokalną gałąź:
git branch new-local-branch
- Ustaw tę nowo utworzoną gałąź, aby śledziła zdalną gałąź:
git branch --set-upstream-to=origin/remote-branch new-local-branch
- wejść do tej gałęzi:
git checkout new-local-branch
- ściągnij całą zawartość zdalnej gałęzi do lokalnej gałęzi:
git pull
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
2015-05-08 03:42:05
Jeśli pobrałeś już zdalną gałąź i wykonasz git branch -a
,
otrzymujesz coś w stylu:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Następnie możesz użyć rep_mirror/8.0
, aby wyznaczyć lokalnie swoją zdalną gałąź.
Sztuczka polega na tym, że remotes/rep_mirror/8.0
nie działa, ale rep_mirror/8.0
działa.
Więc polecenie takie jak git merge -m "my msg" rep_mirror/8.0
wykonuje scalanie.
(uwaga: to jest komentarz do odpowiedzi @VonC. Dodałem to jako kolejną odpowiedź, ponieważ bloki kodu nie pasują do formatu komentarza)
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-05-05 13:00:38