Git: klonowanie konkretnej gałęzi
Ostatnia aktualizacja
Domyślnie git clone przełącza na domyślną gałąź repozytorium (zwykle main), ale pobiera wszystkie gałęzie. Żeby zacząć od innej gałęzi, dodaj -b <branch>. Żeby pobrać tylko tę gałąź i pominąć resztę, co przydaje się przy dużych repozytoriach albo w CI, dodaj też --single-branch.
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git clone -b dev <url> | Klonuje i przełącza na gałąź dev |
git clone -b dev --single-branch <url> | Klonuje tylko historię gałęzi dev |
git clone <url>, potem git switch dev | Klonuje wszystko, potem przełącza |
Które podejście wybrać
| Cel | Polecenie |
|---|---|
| Zacząć na gałęzi, zachować wszystkie gałęzie | git clone -b dev <url> |
| Potrzebna zawsze tylko jedna gałąź | git clone -b dev --single-branch <url> |
| Repozytorium już sklonowane, potrzebna inna gałąź | git fetch, potem git switch dev |
Najczęstsze pytania o klonowanie konkretnej gałęzi
Jak sklonować konkretną gałąź w Git?
Uruchom
git clone -b <branch> <url> (albo z długą formą --branch). Git klonuje repozytorium i przełącza na wskazaną gałąź zamiast domyślnej. Pozostałe gałęzie i tak są pobierane, chyba że dodasz też --single-branch.Jak sklonować tylko jedną gałąź i nic więcej?
Połącz flagi:
git clone -b <branch> --single-branch <url>. To pobiera historię tylko wskazanej gałęzi i pomija wszystkie inne. Klon jest mniejszy i szybszy, co przydaje się przy dużych repozytoriach albo w pipeline'ach CI, które potrzebują jednej gałęzi.Czy po klonie jednej gałęzi da się przełączyć na inną?
Nie od razu, bo pozostałe gałęzie nie zostały pobrane. Najpierw każ Gitowi je pobrać:
git remote set-branches origin '*', a potem git fetch. Wtedy możesz zrobić git switch na dowolną gałąź. Jeśli spodziewasz się, że potrzebujesz kilku gałęzi, zrób zwykły klon.Czym to się różni od zwykłego klonowania i przełączenia?
Zwykłe
git clone <url>, a potem git switch <branch> daje ci wszystkie gałęzie i przenosi na tę, której chcesz; przy normalnej pracy to wystarcza. git clone -b od razu zaczyna na wskazanej gałęzi, a z --single-branch dodatkowo nie pobiera reszty.Czy mogę to przećwiczyć online?
Tak. Otwórz terminal online i uruchom
git clone w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia pobieranie repozytorium.