От git-clone (1) Страница руководства
--branch
может также взять теги и отсоединить HEAD при этом коммите в результирующем репозитории.
Я попытался
git clone --branch <tag_name> <repo_url>
Но это не работает. Возвращает:
warning: Remote branch 2.13.0 not found in upstream origin, using HEAD instead
Как использовать этот параметр?
clone
, и я застрял в «почему - ветвь не работает». Лучший ответ этого URLclone
->checkout
, который не может решить мой вопрос. :)Ответы:
--depth 1
не является обязательным, но если вам нужно только состояние в одной ревизии, вы, вероятно, захотите пропустить загрузку всей истории до этой ревизии.источник
--depth 1
чтобы не загружать любые текущие коммиты.git tag
он не показывает тегаИспользуйте
--single-branch
опцию, чтобы только клонировать историю, ведущую к кончику тега . Это экономит много ненужного кода от клонирования.источник
--single-branch
эквивалент--depth 1
?--single-branch
подразумевается, когда--depth
используется. С ручнойWhen creating a shallow clone with the --depth option, this is the default
Будет быстрее чем:
Или
источник
--depth 1
это драгоценный камень, поэтому многие люди скачивают всю историю git только для того, чтобы использоватьHEAD
.--depth 1
должно быть сделано по умолчанию; если кто-то пытается выписать предыдущий коммит, ему нужно будет загрузить остальные.Используйте команду
чтобы увидеть, поддерживает ли ваш мерзавец команду
Если нет, просто сделайте следующее:
источник
Клонирование определенного тега может вернуть состояние «отделенный заголовок» .
В качестве обходного пути попробуйте сначала клонировать репозиторий, а затем оформить заказ на конкретный тег. Например:
Примечание: начиная с Git 1.8.5 , вы можете использовать
-C <path>
вместо--work-tree
и--git-dir
.источник