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 и открывается новая дискуссия. Отличие дискуссии от комментариев в том, что на последние нельзя отвечать, что очень неудобно, так что в ходу дискуссии.