Настройки запросов на слияние
Ответственные за запросы на слияние
Функционал доступен в Enterprise версии, а также на gitflic.ru
Ответственные за запросы на слияние это участники проекта, определенное число одобрений которых необходимо для того, чтобы слить запрос в указанную ветку. Необходимость наличия одобрений от ответственных и владельцев кода способствует поддержанию высокого уровня качества разрабатываемого продукта.
Для создания правила одобрения запросов на слияние необходимо нажать "Добавить правило" и указать:
- Название для правила. Оно будет отображаться в таблице со всеми правилами.
- Ответственных, от которых необходимо получить одобрения. Ответственными могут быть пользователи с ролью Разработчик и выше.
- В селекторе "Целевая ветка" необходимо выбрать существующую ветку проекта, для которой будет работать данное правило.
- В поле "Минимальное количество одобрений" необходимо указать число одобрений, достаточных для того, чтобы считать запрос на слияние доступным для слияния. Это число может быть меньше общего числа Ответственных.
После нажатия на кнопку "Подтвердить", правило будет создано. Для редактирования или удаления существующего правила присутствуют соответствующие кнопки.
Настройка запросов на слияние
Функционал доступен в Enterprise версии, а также на gitflic.ru
Для более гибкой настройки работы с запросами на слияние присутствуют настройки, позволяющие определить следующее поведение:
- Можно переопределять подтверждающих и подтверждения, необходимые для запроса на слияние - позволяет изменять одобряющих и одобрения в запросе на слияние.
- Удалить все подтверждения в запросе на слияние в момент пуша нового коммита в исходную ветку - применение этой настройки совместно с функционалом ответственных за запросы на слияние не позволяет выполнить слияние, все изменения которого не были одобрены ответственными лицами.
- Запретить одобрение запроса на слияние его автором - пользователь, создавший запрос на слияние, не сможет одобрить такой запрос.
- Запретить одобрение запроса на слияние его разработчиками - пользователи, отправившие хотя бы один коммит в исходную ветку, не смогут одобрить такой запрос.
- Проверять статус последнего конвейера при слиянии запроса - выполнить запрос на слияние будет возможно только в том случае, если конвейер для последнего коммита успешного завершился. Если в настройка CI/CD включен Запуск конвейера результата слияния, то для выполнения слияния будет необходимо успешное выполнение и этого типа конвейера.
- Разрешить редактирование слитого запроса - позволяет изменять название, описание и прочую информацию уже слитых запросов.
- Удалить все подтверждения в запросе на слияние в момент изменения целевой ветки - применение этой настройки совместно с функционалом ответственных за запросы на слияние не позволяет выполнить слияние, после изменения целевой ветки.
Применение правил одобрений и настроек запросов на слияние
Каждый запрос имеет набор требований, исполнение, которых обязательно для выполнения слияния. Ответственные и настройки запросов на слияния, в том числе влияют на список этих требований:
- При активном правиле одобрений работает ограничение - невозможно выполнить слияние, пока необходимое количество ответственных не одобрят запрос. При наличии нескольких правил для одной ветки, необходимо выполнение каждого.
- Успешное выполнение как обычного, так и конвейера результата слияний также может являться обязательным условием для слияния изменений.
Правила автоматического слияния
Для того чтобы автоматическое слияние стало доступным необходимо включить опцию и указать набор условий, выполнение которых обязательно для завершения слияния. Следующие условия могут быть выбраны в качестве обязательных:
- Отсутствие конфликтов
- Закрытие дискуссий
- Одобрения ответственных
- Успешный конвейер
Проверка на успешный конвейер происходит в том случае, если в настройках запросов на слияние включена опция Проверять статус последнего конвейера при слиянии запроса. Если в настройка CI/CD включен Запуск конвейера результата слияния, то будет происходить проверка и этого типа конвейера.
После того как автоматический способ слияния будет выбран, становится невозможно выполнить запрос в ручном формате. Автоматическое слияние запроса можно включить двумя способами:
-
Нажать соответствующую кнопку, в конкретном запросе. После включения автоматического слияния, в этом поле будет указан пользователь, который выбрал этот способ слияния. Для предотвращения случайного выполнения запроса, невозможно включить автоматическое слияние для запроса, который уже можно слить вручную.
-
В правилах защиты веток возможно включить автослияние по умолчанию для указанных веток. В таком случае, в качестве инициатора автослияния будет указан автор запроса на слияние.
Методы слияния
Функционал доступен в Enterprise версии, а также на gitflic.ru
От выбранного метода слияния, зависит как именно изменения будут применены к целевой ветке. Доступен выбор следующих методов слияний:
- Создание коммита слияния (merge commit) - Выбрано по умолчанию. Каждое слияние создает коммит слияния.
- Создание коммита слияния c частично-линейной историей (semi-linear history) - Каждое слияние создает коммит слияния. Если слияние невозможно из-за неактуальности исходной ветки по отношению к целевой, будет предложено перебазировать исходную ветку на целевую.
- Слияние fast-forward - Коммит слияния не будет создан. Если слияние невозможно из-за неактуальности исходной ветки по отношению к целевой, будет предложено перебазировать исходную ветку на целевую.
Решение конфликтов через интерфейс не доступно при выборе методов слияния semi-linear history или fast-forward
Правила слияния одним коммитом
Настройка правила слияния одним коммитом позволяет указать стандартное положение функции при создании запроса на слияния. Возможны следующие варианты:
- Запрещено - Слияние одним коммитом будет недоступно, чекбокс для выбора скрыт.
- Разрешено - Выбрано по умолчанию. Слияние одним коммитом доступно, чекбокс для выбора видимый и не выбран по умолчанию
- Рекомендовано - Слияние одним коммитом доступно, чекбокс для выбора видимый и выбран по умолчанию
- Обязательно - Слияние одним коммитом доступно, чекбокс для выбора видимый и выбран всегда, без возможности выключения
Шаблоны для запросов на слияния
Настройка шаблонных сообщений позволяет задать информативный текст коммитов, которые создаются после выполнения слияния - merge commit и squash commit. Кроме того, при помощи шаблонов, возможно задать стандартное описание для запросов на создание.
Для более гибкой настройки шаблонов поддерживается ряд предопределенных переменных:
Переменная | Описание |
---|---|
%{title} |
Заголовок запроса на слияние |
%{description} |
Описание запроса на слияние |
%{source_branch} |
Название исходной ветки |
%{target_branch} |
Название целевой ветки |
%{url} |
URL запроса на слияние |
%{first_commit} |
Первый коммит исходной ветки |
%{all_commits} |
Список всех коммитов исходной ветки |
%{merged_by} |
Автор запроса на слияние |
%{co_authored_by} |
Соавторы - пользователи, которые создавали коммиты в исходную ветку |
%{approved_by} |
Список ответственных, назначенных при создании запроса на слияние |
Переменная
%{description}
не поддерживается в шаблоне описания запроса на слияние
Переключать Разрешить редактирование шаблонных сообщений при выполнении слияния позволяет запретить изменять шаблонное сообщение merge commit или squash commit при выполнении слияния.
Применение шаблонов для запросов на слияние
Шаблон описания будет автоматически применятся при создании запроса на слияние. Изменить описание можно как при создании запроса, так и уже после, воспользовавшись функцией Редактирования.
После нажатия на кнопку Слить, появится окно Создание коммита, в котором можно будет изменить текст сообщения коммитов. Вместо переменных, которые использовались в шаблоне, будут расположены их значения. Опция для редактирования сообщения squash commit появится только в том случае, если в запросе на слияния была выбрана опция слияния одним коммитом.
Если изменить сообщение squash commit на пустое, то после слияния появится коммит со стандартным текстом - названием исходной ветки.
Настройки запросов на слияние для команд и компаний
В настройках команд и компании также возможно настроить запросы на слияние:
- Указанные настройки можно применить к уже существующим проектам команды или компании с помощью функции Применить настройки.
- Переключатель Применять правила одобрений запросов на слияние к создаваемым проектам команды позволит создавать проекты во владении команды или компании сразу с существующими правилами.