Ze strony podręcznika git-clone (1)
--branch
może również pobierać tagi i odłącza HEAD przy tym zatwierdzeniu w wynikowym repozytorium.
próbowałem
git clone --branch <tag_name> <repo_url>
Ale to nie działa. Zwraca:
warning: Remote branch 2.13.0 not found in upstream origin, using HEAD instead
Jak korzystać z tego parametru?
clone
, i utknąłem na „dlaczego - oddział nie działa”. Użyto najlepszej odpowiedzi z tego adresu URLclone
->checkout
, która nie może rozwiązać mojego pytania. :)Odpowiedzi:
To polecenie nie jest obsługiwane w git 1.7.9.5.
Używam git 1.8.3.5 i działa
źródło
--depth 1
aby uniknąć pobierania jakichkolwiek zatwierdzeń długoterminowych.git tag
nie wyświetla taguUżyj
--single-branch
opcji, aby sklonować tylko historię prowadzącą do końcówki znacznika . To oszczędza wiele niepotrzebnego kodu przed klonowaniem.źródło
--single-branch
równoważne--depth 1
?--single-branch
, gdy--depth
jest używany. Z instrukcjiWhen creating a shallow clone with the --depth option, this is the default
Będzie szybszy niż:
Lub
źródło
--depth 1
jest klejnotem, więc wiele osób pobiera całą historię git tylko po to, aby korzystać zHEAD
.--depth 1
powinien zostać ustawiony jako domyślny; jeśli ktoś spróbuje wypróbować poprzednie zatwierdzenie, powinien zostać poproszony o pobranie reszty.Użyj polecenia
aby sprawdzić, czy twój git obsługuje polecenie
Jeśli nie, wykonaj następujące czynności:
źródło
Klonowanie określonego znacznika może zwrócić stan „odłączony HEAD” .
Aby obejść ten problem, spróbuj najpierw sklonować repozytorium, a następnie sprawdź konkretny tag. Na przykład:
Uwaga: Od wersji Git 1.8.5 możesz używać
-C <path>
zamiast--work-tree
i--git-dir
.źródło