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łąź?
Najpierw uruchom
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?
Zwykle dlatego, że nie było jeszcze fetch. Git może automatycznie utworzyć gałąź śledzącą tylko wtedy, gdy już wie o zdalnej gałęzi. Najpierw uruchom
git fetch origin (albo git fetch --all), a wtedy git switch <branch> zadziała.Jak przełączyć się na zdalną gałąź pod inną nazwą?
Użyj
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.Czy mogę to przećwiczyć online?
Tak. Otwórz terminal online i uruchom te polecenia w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia pracę z repozytoriami zdalnymi.