Git: checkout zdalnej gałęzi
Ostatnia aktualizacja
Żeby pracować na gałęzi, która istnieje w repozytorium zdalnym, ale jeszcze nie na twoim komputerze, najpierw uruchom git fetch, żeby Git się o niej dowiedział, a potem się na nią przełącz. Nowoczesny Git to ułatwia: git switch <branch> automatycznie tworzy lokalną gałąź śledzącą pasującą origin/<branch>.
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git fetch origin | Pobiera gałęzie z repozytorium zdalnego |
git switch feature | Tworzy lokalną feature śledzącą origin/feature |
git checkout --track origin/feature | Starszy sposób na śledzenie zdalnej gałęzi |
git switch -c local origin/feature | Śledzi ją pod inną lokalną nazwą |
Przykład krok po kroku
Przenieś gałąź kolegi z zespołu na swój komputer.
| Krok | Polecenie | Wynik |
|---|---|---|
| 1 | git fetch origin | Git dowiaduje się o origin/feature |
| 2 | git switch feature | Powstaje lokalna feature, śledząca zdalną |
| 3 | git pull | Dalej utrzymujesz ją w synchronizacji |
Najczęstsze pytania o checkout zdalnej gałęzi
Jak przełączyć się na zdalną gałąź?
git fetch origin, żeby Git poznał gałęzie z repozytorium zdalnego, a potem git switch <branch>. Nowoczesny Git widzi pasującą origin/<branch> i automatycznie tworzy lokalną gałąź, która ją śledzi. W starszym Git użyj git checkout --track origin/<branch>.Dlaczego git switch mówi, że gałąź nie istnieje?
git fetch origin (albo git fetch --all), a wtedy git switch <branch> zadziała.Jak przełączyć się na zdalną gałąź pod inną nazwą?
git switch -c <localname> origin/<branch> (albo git checkout -b <localname> origin/<branch>). To tworzy lokalną gałąź o wybranej przez ciebie nazwie, która śledzi zdalną gałąź. Przydaje się, gdy zdalna nazwa koliduje z istniejącą lokalną gałęzią.Czym różni się tu fetch od checkout?
git fetch tylko pobiera zdalne gałęzie i aktualizuje referencje śledzące; nie daje ci gałęzi, na której można pracować. To checkout (przez git switch albo git checkout) tworzy lokalną gałąź, na której faktycznie pracujesz. Najpierw fetch, potem checkout.