Menu
Coddy logo textTech

Git: клонирование определённой ветки

Последнее обновление

По умолчанию git clone переключается на ветку репозитория по умолчанию (обычно main), но скачивает все ветки. Чтобы начать с другой ветки, добавьте -b <branch>. Чтобы получить только эту ветку и пропустить остальные - удобно для больших репозиториев или CI - также передайте --single-branch.

Попробуйте эти команды в терминальном playground - настоящей оболочке в вашем браузере, ничего не нужно устанавливать.

git clone -b переключает на указанную ветку; с --single-branch скачивается история только этой ветки.

Синтаксис

CommandWhat it does
git clone -b dev <url>Клонирует и переключается на ветку dev
git clone -b dev --single-branch <url>Клонирует только историю ветки dev
git clone <url> then git switch devКлонирует всё, затем переключается

Какой подход выбрать

GoalCommand
Начать с ветки, сохранив все веткиgit clone -b dev <url>
Нужна только одна веткаgit clone -b dev --single-branch <url>
Уже клонировали, нужна другая веткаgit fetch then git switch dev

Часто задаваемые вопросы о клонировании определённой ветки в Git

Как клонировать определённую ветку в Git?
Выполните git clone -b <branch> <url> (или длинную форму --branch). Git клонирует репозиторий и переключается на указанную вами ветку вместо ветки по умолчанию. Все остальные ветки всё равно скачиваются, если только вы не передадите ещё и --single-branch.
Как клонировать только одну ветку и ничего больше?
Скомбинируйте флаги: git clone -b <branch> --single-branch <url>. Так скачивается только история указанной ветки, а все остальные пропускаются - меньший и более быстрый клон, полезный для больших репозиториев или пайплайнов CI, которым нужна лишь одна ветка.
Могу ли я переключиться на другую ветку после клонирования одной ветки?
Не напрямую, потому что остальные ветки не были получены. Сначала укажите Git получить их - git remote set-branches origin '*', затем git fetch - после чего вы сможете выполнить git switch на любую ветку. Если вы ожидаете, что понадобится несколько веток, лучше сделайте обычное клонирование.
В чём отличие от простого клонирования с последующим переключением?
Обычный git clone <url>, за которым следует git switch <branch>, даёт вам все ветки, а затем переходит к нужной - подходит для повседневного использования. git clone -b сразу помещает вас на эту ветку, а с --single-branch он ещё и избегает скачивания остального.
Могу ли я потренироваться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить git clone в настоящей оболочке в вашем браузере - ничего не нужно устанавливать. Бесплатный интерактивный курс по Git от Coddy также пошагово рассказывает, как получить репозиторий.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ