Вы новичок в команде и вам было поручено проверить удаленную ветку из репозитория кода Git? Будь то крупное предприятие или компактная команда, владение удаленными ветками Git является ключом к безупречному сотрудничеству над кодом. В этом руководстве мы рассмотрим процесс извлечения кода из удаленного репозитория Git, сосредотачиваясь на команде ‘git checkout remote branch’.
Not a reader? Explore this related video tutorial!
Not seeing the video? Ensure your ad blocker is disabled.
Предварительные требования
- В данном руководстве используется версия 2.30 Git SCM (управление исходным кодом) на Windows 10, хотя оно совместимо с любой ОС, поддерживаемой Git.
Другие возможные способы установки для Windows включают Chocolatey и Git4Win.
- A remote Git repository from platforms like GitLab, GitHub, or Azure DevOps is required. This article provides sample repositories for a hands-on experience, or you can utilize your own.
Понимание удаленной ветки
Репозитории Git ведут учет последовательности связанных коммитов внутри ветки. По умолчанию коммит находится в текущей активной ветке, обычно называемой main
или master
.
A remote branch is a branch located in a remote Git repository. These remote repositories, termed as “remotes,” are the destinations your local Git repository will scout for external commit updates once set up.
Откройте доступные ветви с использованием команды Git branch
. Ветвь, отмеченная звездочкой (*
), является активной. Нижеперечисленные ветви являются исключительно локальными, поскольку удаленные ветви еще не были получены.

git branch
command.Освоение команды Git Checkout Remote Branch
Предположим, у вас есть локальный репозиторий Git, и возникает необходимость сотрудничать с другими разработчиками. Здесь на сцену выходит команда Git checkout
, позволяя вам извлекать последние коммиты из удаленной ветви на удаленном репозитории Git.
Как только удаленная ветвь настроена, Git будет отражать удаленную ветвь, а не только локальную ветвь. Ниже приведен пример команды git checkout remote <branch>
.
Клонирование удаленного репозитория Git
Теперь, когда у вас есть существующий репозиторий в вашем распоряжении, пришло время погрузиться в него. Следуйте указанным ниже шагам, чтобы клонировать удаленный репозиторий в локальную папку на вашем компьютере.
1. Часто проще клонировать удаленный репозиторий через HTTPS URL, чем через SSH, чтобы избежать проблем с сертификатами и брандмауэрами.
- Перейдите в репозиторий на GitHub.
- Нажмите кнопку Code и выберите HTTPS.
- Щелкните по значку Clipboard рядом с ссылкой, чтобы скопировать URL в буфер обмена.

2. После копирования HTTPS-URL в буфер обмена откройте интерфейс командной строки с использованием предпочтительной CLI, такой как Командная строка Windows или Windows Terminal.
3. Перейдите в папку, где вы хотите разместить клонированный репозиторий. В этом руководстве используется папка git в домашнем каталоге, как показано на скриншотах. Выполните следующую команду для клонирования репозитория, которая создает подпапку с удаленным репозиторием.

4. Перейдите в клонированный репозиторий с помощью команды cd git-checkout-remote-branch
.
Выполните следующую команду статуса, чтобы убедиться, что репозиторий был успешно клонирован. Команда Git status
раскрывает различия между локальной и удаленной ветвями, помогая определить, подключена ли ваша ветвь и обновлена! Удаленный репозиторий Git по умолчанию называется origin
и предварительно установлен в основную удаленную ветвь main
. git status

Для большинства современных программ Git
main
является основной веткой по умолчанию. Вы можете столкнуться с более старым приложением, которое используетmaster
в качестве имени своей основной ветки, но оба эти имени функционально идентичны. В этом руководстве используются ветки с именамиmain
,RemoteBranch
,SomeBranch
иAnotherBranch
.
Что такое удаленный репозиторий Git и как отслеживать удаленные ветки
Клонирование репозитория автоматически создает ссылку на удаленный источник, известный как удаленный. Эта ссылка используется для проверки новых коммитов или отправки новых изменений в удаленный репозиторий.
A Git repository itself may have multiple remotes, but a branch can only reference a single remote.
Отслеживание удаленной ветки устанавливает отношения с локальной веткой. Это отношение позволяет легко отправлять или получать коммиты из удаленной ветки в локальную ветку. Более того, отслеживаемая ветка определяет, насколько впереди или позади в коммитах локальная ветка от удаленной.
Перечисление удаленных репозиториев Git
Во-первых, убедитесь, что репозиторий, с которым вы работаете, имеет какие-либо удаленные репозитории Git. Для этого просмотрите удаленные репозитории Git в своем репозитории с помощью команды git remote
, как показано ниже. В этом случае отображаются два удаленных репозитория, origin
и remote2
.

Два дополнительных отслеживаемых удаленных репозитория названы
origin
иremote2
, где ваши удаленные могут отличаться.
Чтобы получить более подробную информацию о настроенных удаленных репозиториях, добавьте ключ v
для отображения полного URI удаленного репозитория Git.

Возможно, вы задаетесь вопросом, почему разные URI для операций
fetch
иpush
. В некоторых рабочих процессах Git можно проверять обновления репозитория по другому URI, чем отправлять изменения. Это называется треугольным рабочим процессом.
Просмотр доступных удаленных веток
Отобразите все доступные ветки, как локальные, так и удаленные, в вашем репозитории с помощью команды branch
. Чтобы отображать также удаленные ветки, добавьте ключ all
, как показано ниже.
На изображении ниже показан ожидаемый удаленный репозиторий origin, используемый в этом руководстве. Однако это изображение не включает все ветки из удаленного репозитория с именем Remote2.

Если ветка на вашем удаленном репозитории не отображается в списке веток, вам необходимо обновить список доступных удаленных веток, как описано в следующем разделе.
Обновление доступных удаленных веток
Иногда удаленный репозиторий может добавить или изменить ветки. Чтобы убедиться, что вы работаете с самыми последними версиями веток, необходимо выполнить команду git fetch
.
Команда fetch
подключается к удаленному репозиторию, извлекая список всех доступных веток. После выполнения команды git fetch
просмотрите ваши текущие отслеживаемые ветки, чтобы убедиться, что удаленная ветка теперь видна, как показано ниже.
Ниже ветка remotes/origin/RemoteBranch
теперь видна в списке доступных удаленных веток после выполнения команды git fetch
.

git fetch
to update the list of available remote branches.Команда fetch
проверяет только наличие обновлений из удаленного репозитория, который в настоящий момент отслеживается в текущей ветке. Чтобы Git проверял обновления из всех удаленных репозиториев в репозитории, независимо от статуса отслеживания, добавьте параметр all
.
Чтобы получить доступные ветки из определенного удаленного репозитория, включите имя удаленного в команду git fetch
, например, Remote2
в приведенном ниже примере, который извлекает ветку main
.

main
from remote2
with the git fetch
command.В любое время, когда вы проверяете удаленные обновления с помощью
git fetch
,git pull
илиgit push
, Git сравнивает коммиты с удаленной веткой. Локальные ветки могут отслеживать любую удаленную ветку Git. Кроме того, несколько локальных веток могут быть настроены на отслеживание одной и той же удаленной ветки.
Просмотр отслеживаемой удаленной ветки каждой ветки
Чтобы увидеть отслеживаемую удаленную ветку наряду с соответствующей локальной веткой, используйте параметр vv
с командой git branch
. Результаты команды отображают список удаленных и локальных веток в формате [<remote>/<branch>]
, как показано ниже.

Изменение отслеживаемой удаленной ветки ветки
Может возникнуть необходимость изменить вашу локальную ветку для отслеживания другой удаленной ветки. Чтобы установить вашу текущую ветку для отслеживания определенной удаленной ветки, используйте параметр u
, как показано ниже.

Проверка удаленных веток Git
При создании новых веток в удаленном репозитории Git может потребоваться выполнить операцию проверки git checkout remote branch. Операция проверки ветки удаленного репозитория выполняется с помощью команды checkout
.
Если следующие условия выполняются, Git автономно определит правильный удаленный репозиторий, загрузит локальную копию удаленной ветки и установит локальную копию для отслеживания удаленной ветки. Проверьте, что следующие условия не выполняются с помощью результатов команды git branch --all
.
- A local branch with the same name does not already exist.
- Отсутствуют несколько удаленных, использующих одно и то же имя удаленной ветки.
Для выполнения операции git checkout для удаленной ветки используйте команду git checkout
и введите имя удаленной ветки, как показано ниже.

git checkout
.Если в вашем локальном репозитории уже есть локальная ветка с тем же именем, добавьте параметр b
, чтобы указать альтернативное имя локальной ветки перед веткой для проверки.

Если в вашем локальном репозитории есть несколько удаленных с тем же именем ветки, укажите, какой удаленный и какую ветку отслеживать для локальных коммитов.

Возможно, будущие версии Git будут предпочитать использование команды
git switch
для изменения и создания веток. Команда Gitswitch
предназначена только для веток, в то время как команда git checkout имеет много возможностей. Иршад С. написал хороший вводный материал по рационалу, если вы хотите узнать больше об этом.
Отправка локальной ветки на удаленный репозиторий
После создания локальной ветки, не имеющей соответствующей удаленной ветки для отслеживания, вы можете отправить ветку на удаленный сервер с помощью команды git push
. Самый простой способ создать новую ветку на вашем предпочтительном удаленном сервере – использовать параметр u
.
Параметр u
, использованный ранее, требует указания аргументов имени репозитория и исходной ветки. Указав только HEAD
в качестве имени исходной ветки, Git понимает, что нужно использовать текущее локальное имя ветки как имя на удаленном сервере, в данном случае – NewBranch
.

HEAD
– это ярлык, который просто означает текущую ветку. Вы можете отправить другие ветки на удаленный сервер и настроить отслеживание, используя их имена вместоHEAD
.
Иногда имя текущей локальной ветки не совпадает с именем удаленной ветки. Чтобы использовать другое имя, укажите желаемое имя ветки после источника, разделив двоеточием, как показано ниже.

Следующие шаги и дополнительные ресурсы Git
Просмотрев основы Git, управление удаленными репозиториями и выполнение команды git checkout remote branch, вы теперь оборудованы обширными знаниями, которые помогут избежать будущих трудностей. Шаги по проверке удаленной ветки в Git и рекомендованные практики, которые были представлены, будут служить вам бесценными ресурсами впереди.
Если вы хотите более подробно изучить другие аспекты управления репозиторием Git, рекомендуются следующие ресурсы:
- A primer on detached heads: Discover scenarios where a detached HEAD is beneficial or inadvertent, and how to handle it.
- Git switch: Команда, посвященная работе с ветками, в отличие от многофункциональной команды Git
checkout
.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/