Перейти к содержанию

Merge Requests

После выполнения задачи в своей ветке необходимо объединить (merge) все изменения c основной веткой веткой (master/dev). Делается это не ручным merge ветки, а созданием merge request'a (далее MR) в GitLab.

Оформление хорошего MR

Выбор веток

Внимательно посмотри из какой и в какую ветку ты создаёшь MR.

GitLab по умолчанию в target branch может ставить master.

Название

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

Пример хорошего названия:

UCATI-231: Fixed contractors sample at project page.

Правильно названный MR легко найти среди всех открытых или уже давно смёрдженных и невозможно забыть.

Описание

Напиши (уже можно на русском), что ты сделал для решения задачи.

Checkbox'ы

В самом низу формы есть 2 checkbox'а:

Remove source branch: после merge с такой опцией из git'a будет удалена ветка, в которой выполнялась работа. Ставится практически всегда. Squash commits: после merge с такой опцией все изменения, внесённые во время решения задачи будут применены к origin ветке как 1 commit. Особой выгоды пока нет, поэтому не включаем.

WIP

Иногда необходимо создать MR, как-то обозначив, что работа над ним еще не завершена. Для таких случаев в Gitlab есть префикс work in progress (WIP:). Во время создания MR можно руками или с помощью ссылки (Start the title with WIP) прямо под полем названия сделать свой MR WIP'нутым. MR со статусом WIP нельзя смёрджить, но к нему уже можно писать комментарии и дискуссии. WIP статус ставится в любой момент, его легко поставить и также легко убрать, достаточно открыть MR на редактирование и стереть префикс или же воспользоваться ссылкой (Remove the WIP: prefix from the title) под полем ввода имени задачи.

Комментарии и дискуссия

Создание MR'a происходит для комфортного ревью кода, а комментарии и дискуссии — основные его инструменты. Во время просматривания изменений, внесенных в код при решении задачи ревьюер может создать комментарий к любой строке кода и задать вопрос/сделать замечание автору. Это открывает дискуссию, которую видно в ленте основных событий MR'а. В этой дискуссии происходит обсуждение вопроса, возникшего к коду, по необходимости в MR вносятся изменения, и после того, как все участники приходят к компромиссу, человек открывший дискуссию её закрывает.

Мержить MR с не закрытыми дискуссиями нельзя !

Если существует необходимость открыть новую дискуссию не по коду, а в целом по MR'у, на главной странице есть поле ввода с большой зелёной кнопкой. В нем пишется вопрос, тип кнопки меняется с Comment на Start discussion и открывается новая дискуссия. Отличие дискуссии от комментариев в том, что на последние нельзя отвечать, что очень неудобно, так что в ходу дискуссии.