Что такое запросы Git Pull и как их использовать? — CloudSavvy ИТ

Логотип Git

Запросы на вытягивание — это функция онлайн-сервисов git, таких как Github и Gitlab. Они позволяют любому пользователю запрашивать добавление изменений, даже если у него нет доступа к репозиторию. Мы обсудим, как они работают и как использовать их для совместной работы с открытым исходным кодом.

Что делает запрос на слияние?

Как бы это ни казалось, git как инструмент — полностью децентрализованная система. Это означает, что репозиторий на Github.com и репозиторий на вашем локальном компьютере ничем не отличаются друг от друга. Вы не подключаетесь к Github для работы с репозиторием, вы копируете код из Github в ваш локальный репозиторий и работаем над ним там.

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

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

Что ж, есть второй способ обновления репозитория Git — git pull. Вы, вероятно, делаете это часто, когда ваши коллеги вносят изменения, которые вас подталкивают. В этом случае вы извлекаете коммиты из удаленного репозитория и синхронизируете их с вашим локальным репозиторием.

Но Git децентрализован, поэтому нет никакой разницы между вашим репо и удаленным репо. На самом деле вы можете запустить git pull в обратном порядке с сервера, и это суть того, что делает запросы на вытягивание функцией.

Запрос на вытягивание — это просто вы сообщаете удаленному серверу (и людям, которые его обслуживают), что у вас есть обновленные коммиты, которые вы хотите, чтобы они просмотрели и интегрировали с удаленным репозиторием. Если они примут изменения, удаленное репо запустит git pull для вашего локального репозитория, интегрируя код без необходимости иметь авторизованный ключ SSH для этого.

Основа сотрудничества с открытым исходным кодом

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

Запросы на вытягивание — вот что заставляет это работать. Сопровождающие проекта, управляющие им администраторы, как правило, просматривают запросы на вытягивание и решают, следует ли интегрировать код или нужно ли исправить определенные ошибки, прежде чем он будет готов.

Запросы на извлечение не являются особенностью самого git, поэтому их точная реализация будет зависеть от службы. Но для Github вы найдете запросы на вытягивание в строке меню репозитория, которая показывает список открытых и закрытых запросов, которые вы можете фильтровать.

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

Если вы сопровождаете репозиторий, вы можете просмотреть и объединить запрос. Или, если у вас есть проблемы, которые вам нужно обсудить, вы можете оставить комментарий и вместе поработать над кодом. Это большая причина, по которой общедоступные пространства, такие как Github, отлично подходят для совместной работы с открытым исходным кодом, даже такая простая вещь, как изменение формулировки документации, может быть выполнена кем угодно совместно.

Запросы на вытягивание отличаются от задач. Отслеживание проблем — это функция многих сервисов, таких как Github, которая позволяет легко исправлять ошибки и совместно использовать новые функции. По сути, у каждой проблемы есть тема, которую могут обсудить разработчики и сообщество. Например, dotnet / csharplang является официальным репозиторием для обсуждения того, как разработан C # как язык программирования. Если вы перейдете к вопросам, вы найдете множество людей, обсуждающих концепции будущих итераций языка:

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

Все запросы на вытягивание либо отклоняются, либо приводят непосредственно к изменению кода в репозитории. Проблемы — это всего лишь способ отслеживать ход разработки и исправлять ошибки.

Выполнение запросов на извлечение

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

Перейдите в репозиторий, для которого хотите сделать запрос, и нажмите «Новый запрос на слияние» на вкладке «Запросы слияния»:

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

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

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

А пока вы можете проверить статус всех запросов на вытягивание, в которых вы участвуете, на вкладке «Запросы на вытягивание» в строке основного заголовка.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *