Menu
Coddy logo textTech

Git: Переключение на удалённую ветку

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

Чтобы работать с веткой, которая существует на удалённом репозитории, но ещё не на вашей машине, сначала выполните git fetch, чтобы Git узнал о ней, а затем переключитесь на неё. Современный Git упрощает это: git switch <branch> автоматически создаёт локальную ветку, отслеживающую соответствующую origin/<branch>.

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

После fetch переключение на удалённую ветку создаёт локальную ветку, отслеживающую origin/feature.

Синтаксис

CommandWhat it does
git fetch originЗагружает ветки удалённого репозитория
git switch featureСоздаёт локальную feature, отслеживающую origin/feature
git checkout --track origin/featureСтарый способ отслеживать удалённую ветку
git switch -c local origin/featureОтслеживать её под другим локальным именем

Разобранный пример

Получите ветку коллеги на свою машину.

StepCommandResult
1git fetch originGit узнаёт о origin/feature
2git switch featureЛокальная feature создана и отслеживает удалённую
3git pullПоддерживайте синхронизацию в дальнейшем

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

Как переключиться на удалённую ветку?
Сначала выполните git fetch origin, чтобы Git узнал о ветках удалённого репозитория, затем git switch <branch>. Современный Git видит соответствующую origin/<branch> и автоматически создаёт локальную ветку, отслеживающую её. В старом Git используйте git checkout --track origin/<branch>.
Почему git switch говорит, что ветка не существует?
Обычно потому, что вы ещё не выполнили fetch - Git может автоматически создать отслеживающую ветку, только если уже знает об удалённой ветке. Сначала выполните git fetch origin (или git fetch --all), затем git switch <branch> заработает.
Как переключиться на удалённую ветку под другим именем?
Используйте git switch -c <localname> origin/<branch> (или git checkout -b <localname> origin/<branch>). Это создаёт локальную ветку с выбранным вами именем, отслеживающую удалённую ветку - удобно, когда удалённое имя конфликтует с существующей локальной веткой.
В чём разница между fetch и checkout здесь?
git fetch только загружает удалённые ветки и обновляет ваши ссылки отслеживания удалённого репозитория - он не даёт вам рабочую ветку. Переключение (через git switch или git checkout) - это то, что создаёт локальную ветку, с которой вы действительно работаете. Вы делаете fetch один раз, затем checkout.
Можно ли попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить эти команды в настоящей оболочке в вашем браузере - ничего не нужно устанавливать. Бесплатный интерактивный курс Git от Coddy также пошагово охватывает работу с удалёнными репозиториями.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ