2015-06-16 14 views
6

Mam repozytorium, które ma inny zdalny upstream oprócz origin. Mogę zrobić git checkout origin/master, ale gdy uruchamiam git checkout upstream/master, otrzymuję:Oddział kasowy na innym zdalnym

error: pathspec 'upstream/master' did not match any file(s) known to git. 

To nie działa albo:

$ git fetch upstream 
From https://github.com/getsentry/sentry 
* branch   HEAD  -> FETCH_HEAD 
$ git co -b asdf --track upstream/master 
fatal: Cannot update paths and switch to branch 'asdf' at the same time. 
Did you intend to checkout 'upstream/master' which can not be resolved as commit? 

Jak sprawdzić oddziały na upstream odległy jak ja na origin pilocie? Moja wersja git to 2.1.2.

Odpowiedz

11

Wystarczy pobrać sędziowie z pilota (to sprowadzić cały oddział, popełnić, sędziowie itp dla upstream repo)

git fetch upstream 

po tym, kasy potrzebnej oddział (to tworzy lokalną kopię gałęzi)

git checkout -b <branchname> --track upstream/<branchname> 

teraz, jeśli chcesz ciągnąć zmiany w tej branży w przyszłości, wszystko co musisz zrobić, to

git pull upstream <branchname> 

Jak wspomniano here, spróbuj robić wyraźne sprowadzić na nazwę oddziału:

git fetch upstream master:branch_name 
+0

Nie działa: 'fatal: Nie można aktualizować ścieżek i przełączać się na gałąź 'asdf' w tym samym czasie. Czy masz zamiar dokonać "upstream/master", którego nie można rozwiązać jako commit? '. – fossilet

+0

@fossilet Czy możesz sprawdzić, czy 'git fetch upstream master: nazwa_grupy' działa dla ciebie? Sprawdź http://stackoverflow.com/a/1614996/1860929 –

+0

Działa ... ale dlaczego? – fossilet

3

Jeśli tylko dodaje pilota, trzeba ją fetch tak że Git wie, jakie gałęzie są dostępne:

git fetch upstream master 

Po tym można zrobić

git checkout upstream/master 

bez żadnych problemów.

+1

Czy to naniesienie zmian od góry do pochodzenia/Master/Master? To nie jest pożądane. – fossilet

+1

Przepraszam, chodziło mi o 'fetch' nie' pull'. Dzięki. – nneonneo

+0

Ten sam błąd, jak w pytaniu. – fossilet