Как создать запрос на слияние (Merge request) в Gitlab

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

В прошлой статье мы рассмотрели как отправлять свои изменения в свою ветку Gitlab, но что если мы работаем в команде и имеется удаленная ветка в репозитории, куда все программисты (и не только) складывают конечные результаты своей работы, т.е. вливают свои изменения (коммиты) в чужую ветку, которую (условно) все считают конечной веткой. У такой удаленной ветки пусть будет главный хозяин, которые принимает чужие изменения или наоборот - требует доработать, т.е. выполняет ревью коммитов. Рассмотрим простую схему для лучшего понимания.


Предварительные действия:

Все действия будут показаны на примере среды разработки Idea Intellij в которой работают тестировщики и пишут тест-кейсы на java. Далее каждый тестировщик отправляет изменения из своей ветки в конечную ветку develop.

Idea Intellij удобна тем, что там имеется встроенный инструмент GIT, т.е. не приходится отдельно работать в менеджере git или в консоли git bash.


01 Создадим новую ветку из ветки "develop", чтобы потом в нее влить только новые коммиты, которые будут нами созданы. Для этого (на примере все той же Idea Intellij), нужно перейти на вкладку "Git" слева в нижней части окна программы, встать на ветку develop и нажать на "+" -> указать имя ветки и нажать Enter:

2021-11-30 144438

Таким образом мы создадим новую ветку с именем "new_branch" на основании ветки "develop".

02 Работаем с новой веткой "new_branch", делаем нужные изменения, коммитим их, отправляем (git push) в ветку "new_branch". При этом локальная ветка"new_branch" созданная на основании "develop" создастся не только локально, но и на сервере репозитория.

03 Создадим запрос на слияние "Merge request" с веткой "develop" коммитов из ветки "new_branch". Для этого переходим на сайт Gitlab и ищем в меню кнопку 2021-11-30 145737 и на новой открывшейся странице найдем кнопку создания запроса 2021-11-30 145939 выберем ветки слияния:

2021-11-30 150322

1. В форме "Source branch" выбрать ветку, из которой слить изменения (коммиты).

2. В форме "Target branch" выбрать ветку, в которую нужно влить изменения (коммиты).

3. Нажать кнопку "Compare branches and continue".

04 Далее добавить описание запроса на слияние:

2021-11-30 152809

1. "Заголовок" - краткое описание вливаемых изменений.
2. "Discription" - описание выполненной работы.

05 Далее зарегистрировать запрос на слияние:

2021-11-30 153836

1. "Отвественный" - ответственный за выполнение задачи ("Assign to me" - назначить меня)

2. "Reviewer" - ответственный за проверку (хозяин ветки "develop")

3. Чек-бокс "Delete source branch when merge request is accepted" - означает, что вливаемая ветка "new_branch" будет удалена из репозитория. Локально она останется у нас на ПК. Эта галочка полезна, чтобы не засорять репозиторий лишними ветками.
4. Нажать кнопку "Create запрос на слияние".

06Создан новый запрос на слияние:

после создания осуществляется переход на страницу запроса

Запрос можно редактировать, нажав кнопку 2021-11-30 154946.

Важно, что после создания "Merge request", можно отправлять новые коммиты в ветку "new_branch" репозитория Gitlab - эти коммиты будут попадать в созданный запрос на слияние "Merge request" и будут применены при слиянии веток после одобрения:

2021-11-30 155410

07Одобрение и слияние веток:

Хозяину ветки "develop" остается проверить коммиты, "Одобрить" и принять через "Слияние" наши изменения из "new_branch":

2021-11-30 155701

При возникновении конфликтов при слиянии веток, хозяину "develop" нужно их разрешить самостоятельно или отправить инициатору изменений "new_branch" для разрешения конфликтов на его стороне.

mr. Mak

Остались вопросы? Пишите на почту admin@hzit.ru

Администратор сайта hzit.ru

Похожие материалы (по тегу)

Back to top