Создание пулл реквеста

Запрос на слияние (пулл реквест) - основная функция системы контроля версий. Через пулл реквест вы предлагаете свои изменения и запрашиваете проверку (ревью) у соавторов репозитория.

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

Новый запрос отобразится:

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

⚠️
  1. Создатель запроса для защищенной ветки с заданным минимальным числом ревьюеров не сможет самостоятельно выполнить слияние, т.к. создатель не может быть ревьюером.

  2. Если в защищенной ветке выставлено ограничение на расширения файлов и такие файлы меняются в коммитах, то слияние будет заблокировано.

  3. Для ранее созданных запросов обновление правил защиты происходит спустя некоторое время.

  4. Соавтор-владелец пулл-реквеста может отменить ревью для другого соавтора.

Соавтор-владелец пулл реквеста может отменить ревью для другого соавтора.

Варианты создания пулл реквеста

Форма создания пулл реквеста предзаполнена в зависимости от репозитория-источника запроса, для форка репозитория дополнительно доступны для слияния ветки оригинала.

Простой пулл реквест

  1. Перейти на форму создания нового пулл реквеста можно в профиле репозитория > Запросы по нажатию Создать новый запрос.

    Пример:

  2. Если репозитория не является форком, то для слияния доступны только его собственные ветки.

    Пример:

Пулл реквест из форка репозитория

При создании пулл реквеста из форка репозитория дополнительно доступны для слияния ветки оригинального репозитория.

  1. В форке репозитория перейдите на вкладку Запросы и нажмите Создать новый запрос.

    Пример:

    форк, кнопка создания нового запроса
  2. Укажите:

    1. исходную репозиторий — форк или оргинал;
    2. ветку исходного репозитория;
    3. целевой репозиторий — форк или оргинал;
    4. ветку целевого репозитория;
    5. (опционально) отредактируйте название пулл реквеста;
    6. нажмите Создать запрос.

    Пример:

    новые доступные поля на форме создаия запроса из форка

Пулл реквест при коммите с созданием новой ветки

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

  1. При создании коммита выберите Создать новую ветку.

    Пример:

  2. Появится новое поле и чекбокс. Далее:

    1. (опционально) в новом поле отредактируйте название новой ветки для коммита;
    2. отметьте чекбокс, нажмите Сохранить.

    Пример:

    Отобразится форма создания запроса на слияния. Исходной будет выбрана ветка, созданная при коммите:

Описание изменений в пулл реквесте

После того, как вы выбрали ветки для пулл реквеста, отобразится краткая информация по изменениям пулл реквеста:

  1. Коммиты;
  2. Измененные файлы;
  3. Список измененных файлов и изменения по отдельному файлу.
  1. Коммиты из списка можно развернуть, где для каждого коммита отражены сообщение, ссылка перехода на коммит, его хеш-код для копирования и др.

    Пример:

  2. Сводная информация по измененным файлам включает в себя:

    1. Файлы — общее число добавленных и измененных файлов;
    2. Добавлено — число добавленных файлов;
    3. Изменено — число число измененных файлов;
    4. Изменение строк в файле:
      • Добавлено — совокупное число добавленных строк по всем файлам;
      • Удалено — совокупное число удаленных строк по всем файлам.

    Пример:

  3. Среди список измененных файлов можно получить подробные изменения по каждому.

    Пример:

Изменение названия запроса

  1. Выберите нужный запрос, например, на дашборде пулл реквестов:

    Дашборд пулл реквестов
  2. Нажмите на пиктограмму карандаша:

    поле изменения названия запроса

    Отобразится модальное окно:

    модальное окно смены названия запроса
  3. Введите новое название запроса и нажмите кнопку Переименовать:

    Введите новое название запроса и нажмите кнопку Переименовать

    Отобразится страница запроса с новым названием:

    Введите новое название запроса и нажмите кнопку Переименовать

Дальнейшие шаги

Что можно сделать далее: