Создание запроса
Запрос на слияние (pull request) - основная функция системы контроля версий. Через запрос вы предлагаете свои изменения и запрашиваете проверку (ревью) у соавторов репозитория.
В запросе можно просматривать изменения по файлам, оставлять комментарии к строкам кода, участвовать в обсуждении.
Новый запрос отобразится:
- среди запросов репозитория;
- на дашборде запросов.
Подробный пример создания и выполнения запроса на слияние при совместном ревью для защищенной ветки описан в разделе Слияние запроса.
Создатель запроса для защищенной ветки с заданным минимальным числом ревьюеров не сможет самостоятельно выполнить слияние, т.к. создатель не может быть ревьюером.
Если в защищенной ветке выставлено ограничение на расширения файлов и такие файлы меняются в коммитах, то слияние будет заблокировано.
Для ранее созданных запросов обновление правил защиты происходит спустя некоторое время.
Соавтор-владелец запроса может отменить ревью для другого соавтора.
Варианты создания запроса
Форма создания запроса предзаполнена в зависимости от репозитория-источника запроса, для форка репозитория дополнительно доступны для слияния ветки оригинала.
Простой запрос
Если репозиторий не является форком, то для слияния доступны только его собственные ветки.
Для перехода на форму создания нового запроса в профиле репозитория выберите Запросы, нажмите Создать новый запрос.
Пример:
Укажите:
- Ветку ветку-источник;
- Целевую ветку.
- (Необязательно) назначьте ревьюеров, их можно переназначить позже на странице запроса.
- (Необязательно) отредактируйте название запроса.
- (Необязательно) отредактируйте описание запроса.
- Нажмите Создать запрос.
Пример:
Запрос из форка репозитория
При создании запроса из форка репозитория дополнительно доступны для слияния ветки оригинального репозитория.
В форке репозитория перейдите на вкладку Запросы и нажмите Создать новый запрос.
Пример:
Укажите:
- Исходный репозиторий — форк или оргинал.
- Ветку исходного репозитория.
- Целевой репозиторий — форк или оргинал.
- Ветку целевого репозитория.
- (Необязательно) ревьюеров, их можно переназначить позже на странице запроса.
- (Необязательно) отредактируйте название запроса.
- (Необязательно) отредактируйте описание запроса.
- Нажмите Создать запрос.
Пример:
Запрос при коммите с созданием новой ветки
Создать новый запрос на слияние можно в момент коммита одновременно с созданием новой ветки. В форме создания запроса источником слияния будет выбрана новая созданная ветка.
При создании коммита выберите Создать новую ветку.
Пример:
Появится новое поле и чекбокс. Далее:
- (Необязательно) в новом поле отредактируйте название новой ветки для коммита.
- Отметьте чекбокс, нажмите Сохранить.
Пример:
Отобразится форма создания запроса на слияния. Исходной будет выбрана ветка, созданная при коммите:
Запрос на странице задачи
Создание запроса на странице задачи см. на странице Ветки и запросы в задачах.
Описание изменений в запросе
После того, как вы выбрали ветки для запроса, отобразится краткая информация по изменениям запроса:
- Коммиты.
- Измененные файлы.
- Список измененных файлов и изменения по отдельному файлу.
Коммиты из списка можно развернуть, где для каждого коммита отражены сообщение, ссылка перехода на коммит, его хеш-код для копирования и др
Пример:
Сводная информация по измененным файлам включает в себя:
- Файлы — общее число добавленных и измененных файлов.
- Добавлено — число добавленных файлов.
- Изменено — число число измененных файлов.
- Изменение строк в файле:
- Добавлено — совокупное число добавленных строк по всем файлам;
- Удалено — совокупное число удаленных строк по всем файлам.
Пример:
В измененных файлах можно получить подробную информацию об изменениях
Пример:
Изменение названия запроса
Выберите нужный запрос, например, на дашборде запросов:
Нажмите на пиктограмму карандаша:
Отобразится модальное окно:
Введите новое название запроса и нажмите кнопку Переименовать:
Отобразится страница запроса с новым названием:
Дальнейшие шаги
Что можно сделать далее:
- добавьте соавторов и ревьюеров;
- проверьте правила защиты ветки;
- добавьте вебхуки, чтобы получать уведомления на сторонних сервисах о событиях с вашим репозиторием в GitVerse.