Что точно является неправильным с (ранее упомянутый)
ширина: 0 height:0 видимости: скрытый
git clone
всегда клонирует весь репозиторий, если вы не укажете параметр - depth
, который ограничивает репозиторий до последней n ] ревизий (так называемый «мелкий клон»).
Однако вы можете создать локальный репозиторий и использовать git fetch
только для получения частей удаленного репозитория.
cd /path/foo
git init
git remote add origin <some url>
git fetch origin <some branch>
Это будет дублировать большинство того, что делает git clone
, но ограничивает его ветвью (ветками), которые вы указываете в командной строке. (Я не уверен в дальнейших деталях, таких как отслеживание ветвей, тегов и т. Д.)
В заголовке и резюме вашего вопроса задаются два разных вопроса, потому что, как заметил Бомб, клон всегда получает весь контент, если не использовать параметр - depth
.
Я не уверен, что вы на самом деле хотите, но другой вариант - клонировать с флагом - no-checkout
(или -n
). По умолчанию git
проверяет ветку по умолчанию для репозитория (которая определяется ссылкой HEAD
в удаленном репозитории - это не всегда master
). Если вы используете флаг -n
git
не будет проверять ветку за вас, вы можете просто проверить то, что хотите:
git clone -n <some url> foo
cd foo
git checkout <some branch>