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ć?

Author: Pavel, 2014-02-09

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
 202
Author: VonC,
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

 67
Author: Michael Dautermann,
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łąź:

  1. Utwórz nową lokalną gałąź: git branch new-local-branch
  2. Ustaw tę nowo utworzoną gałąź, aby śledziła zdalną gałąź: git branch --set-upstream-to=origin/remote-branch new-local-branch
  3. wejść do tej gałęzi: git checkout new-local-branch
  4. ściągnij całą zawartość zdalnej gałęzi do lokalnej gałęzi: git pull
 13
Author: emisilva,
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)

 0
Author: geekobi,
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