Поиск по сайту:

Как проверить удаленную ветку Git


Резюме: чтобы получить ветку из удаленного репозитория, используйте команду git fetch, а затем git branch -r для получения списка удаленных веток. Выберите нужную ветку и используйте команду вида git checkout -b new-branch-name origin/remote-branch-name. Если вы используете несколько репозиториев, измените исходную часть команды проверки на имя удаленного устройства, с которого вы хотите получить ветку.

Если ваша команда разработчиков использует Git, вам в конечном итоге потребуется проверить чужую работу как ветку из удаленного репозитория. Как и большинство действий с ветками в Git, переключение на удаленную ветку на самом деле довольно просто.

Git, ветки и пульты

Философия Git заключается в частом ветвлении. Ветки позволяют вести разработку без изменения основного кода. Когда вы удовлетворены тем, что ваш новый протестированный код готов, вы объединяете новую ветку с другой веткой. Обычно это главная или главная ветка, но вы можете объединить любые две ветки.

Из-за этой гибкости, а также легкого и быстрого способа обработки ветвей и слияний Git ветвление было преобразовано. В старых системах контроля версий большое значение имело ветвление. Ветвление и слияние были медленными и подверженными ошибкам. Git предоставил разработчикам простое и быстрое ветвление, которое используется для поддержки множества различных рабочих процессов.

Если вы работаете или работаете волонтером в составе команды разработчиков, использующей Git, у вас будет «центральный» репозиторий Git, удаленный от компьютера каждого инженера-программиста. Это известно как удаленный репозиторий или просто «удаленный». Именно сюда отправляются коммиты и изменения в ваш локальный репозиторий, когда вы выполняете push.

Конечно, это то, что делают и другие разработчики. Это упрощает сотрудничество. Если вам нужно получить доступ к работе другого разработчика, вы просто получаете его код из ветки в удаленном репозитории. Если им понадобится доступ к вашей работе, они получат ваш код из ветки в репозитории, которая отслеживает одну из ваших локальных веток.

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

Поиск местных отделений

Вам нужно избегать конфликтов имен. Если у вас есть локальная ветка с тем же именем, что и удаленная ветка, которую вы собираетесь проверить, у вас есть два варианта. Вы можете переименовать свою локальную ветку и проверить удаленную ветку. Таким образом, ваша локальная ветка, которая отслеживает удаленную ветку, будет иметь то же имя, что и удаленная ветка. Или вы можете проверить удаленную ветку и указать Git создать локальную ветку отслеживания с новым именем.

Чтобы узнать имена веток в вашем локальном репозитории, используйте команду git branch.

git branch

Этот локальный репозиторий имеет основную ветку и три другие ветки. Звездочка указывает, какая ветвь является текущей. Переход от ветки к ветке требует проверки ветки, с которой вы хотите работать.

git checkout new-feature
git status

Первая команда изменяет для нас ветку, так что «новая функция» является текущей веткой. Команда git status проверяет это для нас.

Мы можем переключаться между ветвями, фиксируя новые изменения, извлекая обновления с удаленного сервера и отправляя локальные обновления на удаленный сервер.

Проверка удаленной ветки

В удаленном репозитории есть ветка, которой нет на нашей машине. Разработчик по имени Мэри создала новую функцию. Мы хотим переключиться на эту удаленную ветку, чтобы мы могли собрать эту версию программного обеспечения локально.

Если мы выполним fetch, Git извлечет метаданные из удаленного репозитория.

git fetch

Поскольку это первый fetch, который мы сделали с тех пор, как Мэри отправила свою ветку в удаленный репозиторий, нам сказали, что есть новая ветка под названием «origin/mary-feature». Имя по умолчанию для первого удаленного репозитория, добавленного в проект, — «origin».

Независимо от того, видим мы это сообщение или нет, мы всегда можем попросить Git перечислить ветки в удаленном репозитории.

Параметр -r (удаленный) сообщает Git, что нужно сообщать о ветвях, которые находятся в удаленном репозитории.

git branch -r

Здесь следует отметить, что Git проверяет свою локальную копию удаленных метаданных. Вот почему мы использовали команду git fetch, чтобы убедиться, что локальная копия метаданных актуальна.

Как только мы обнаружим нужную ветку, мы можем продолжить и проверить ее. Мы используем команду git checkout с параметром -b (ветвь), за которым следует имя, которое мы будем использовать для локальной ветки, а затем имя удаленной ветки. .

git checkout -b mary-feature origin/mary-feature

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

git branch

Наш новый локальный филиал теперь является нашим текущим рабочим филиалом.

Обработка конфликтов имен

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

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

git checkout -b mary-test origin/mary-feature

Это создает локальную ветку с именем «mary-test», которая будет отслеживать локальные коммиты в эту ветку. Пуши будут отправляться в удаленную ветку «origin/mary-feature».

Вероятно, это лучший способ справиться с конфликтами локальных имен. Если вы действительно хотите, чтобы имя локальной и удаленной ветки было одинаковым, вам нужно переименовать свою локальную ветку, прежде чем проверять удаленную. Переименование ветки в Git тривиально.

git branch -m mary-feature old-mary-branch

Теперь вы можете проверить удаленную ветку «origin/mary-feature».

Работа с несколькими удаленными репозиториями

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

Чтобы получить список удаленных репозиториев, используйте команду remote с параметром -v (просмотр).

git remote -v

Чтобы увидеть все доступные ветки, нам нужно получить метаданные со всех наших пультов, а затем перечислить удаленные ветки.

git fetch --all
git branch --all

Мы видим, что ветка, которую мы хотим, находится в удаленном «источнике». Команда для проверки находится в том же формате, который мы уже использовали. Нам нужно указать удаленное имя «origin», а также имя ветки «mary-feature».

git checkout -b mary-feature origin/mary-feature

Перед оформлением заказа

Перед тем, как оформить заказ, имейте в виду несколько вещей, и все будет в порядке.

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

Если вы используете несколько удаленных репозиториев, убедитесь, что вы используете правильный удаленный.