Więcej
Jak sklonować konkretną gałąź Git?
Git clone zachowa się kopiując zdalną bieżącą gałąź roboczą do lokalnej.
Czy jest jakiś sposób na sklonowanie konkretnej gałęzi przeze mnie bez przełączania gałęzi na zdalnym repozytorium?
2764
3
Przykład:
Dla Git 1.7.10 i późniejszych, dodaj
--single-branch
aby zapobiec pobieraniu wszystkich gałęzi. Przykład, z gałęzią OpenCV 2.4:Opcja
--single-branch
jest ważna od wersji 1.7.10 i późniejszych.Proszę zobaczyć również inną odpowiedź, którą wielu ludzi preferuje.
Możesz również chcieć się upewnić, że rozumiesz różnicę. A różnica jest taka: wywołując
git clone --branch url
pobierasz wszystkie gałęzie i sprawdzasz jedną z nich. Może to na przykład oznaczać, że twoje repozytorium ma gałąź dokumentacji lub wiki o rozmiarze 5kB i gałąź danych o rozmiarze 5GB. I za każdym razem, gdy będziesz chciał edytować swoją stronę frontową, możesz skończyć klonując 5GB danych.Ponownie, nie oznacza to, że
git clone --branch
nie jest sposobem na osiągnięcie tego, ale po prostu nie zawsze jest to to, co chcesz osiągnąć, kiedy pytasz o klonowanie konkretnej gałęzi.W czasie pisania oryginalnej odpowiedzi poniżej, git nie miał opcji
--single-branch
, ale zachowajmy ją dla pełnej satysfakcji wściekłych pszczół.Odpowiedź tak bardzo nielubiana przez copypasty była taka:
Utwórz gałąź w lokalnym systemie o tej nazwie, np. powiedzmy, że chcesz uzyskać gałąź o nazwie "branch-05142011".
git branch branch-05142011 origin/branch-05142011
Da ci to wiadomość w stylu - "Oddział branch-05142011 ustawiony do śledzenia zdalnego oddziału branch-05142011 z origin."
Teraz po prostu sprawdź gałąź jak poniżej i masz kod -.
git checkout branch-05142011