gitlab merge request

gitlab merge request — позволяет перед коммитом в master ветку отправить внесенные изменения другим разработчикам проекта, это аналог pull request в git. merge request позволяет предотвратить внесение некорректных изменений, которые сломают проект.

 

 

Gitlab merge request: как сделать и принять MR

Зайдя в Gitlab от имени пользователя, который может работать с проектом скачаем исходный код через git clone

gitlab merge request

 

ip адрес в примере используется только для демонстрации, его нужно заменить на свой.

git clone git@ip-address:root/myproject.git

 

Теперь на локальном компьютере присутствуют скрипты проекта, или один скрипт index.py как в примере.

 

Переходим в каталог

cd myproject/

 

Теперь можно создать новую ветку

git checkout -b update-code

 

В ней вносим изменения

mcedit index.py

Открыв файл в текстовом редакторе добавим комментарий

Затем добавляем все содержимое каталога на staging

git add .

 

Коммитим изменения

git commit -m 'updated code'

 

И заливаем в ветку update-code

git push origin update-code

Total 3 (delta 1), reused 0 (delta 0)
remote: To create a merge request for update-code, visit:
remote: http://ip-address/root/myproject/merge_requests/new?merge_request%5Bsource_branch%5D=update-code
remote:
To ip-address:root/myproject.git
* [new branch] update-code -> update-code

 

После обновления страницы в интерфейсе Gitlab будет отображаться вторая ветка

gitlab merge request как сделать

 

Рядом с именем ветки есть кнопка Merge request

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

 

Также можно установить, что нужно чье-либо одобрение для принятия Merge-request и слияния с веткой master.

gitlab merge request как принять

 

После заполнения полей формы нужно нажать «Submit merge request» внизу.

 

Теперь тот кому отправлен MR получит оповещение и сможет увидеть все внесенные изменения, затем закрыть MR, выполнить слияние с master или начать дискуссию.

merge request в gitlab

В интерфейсе есть кнопки «Open in Web IDE» и «Check out branch«

Нажатие на первую позволит увидеть разницу до и после внесения изменений, код будет выводиться на экране разделенном на две части вертикально. Аналогично git diff.

 

Если выбрать «Check out branch» — отобразится инструкция с командами, позволяющими скачать изменений на локальный компьютер, исправить все конфликты и загрузить в репозиторий.

 

В случае если изменения корректны и не нанесут ущерба проекту можно нажать Merge.

 

что такое merge request

 

В консоли когда merge выполнен, можно переключиться на master и забрать через  pull изменения.

git checkout master

 

git pull origin master

 

Изменения будут залиты в master. Найдя MR всегда можно воспользоваться опцией revert для отмены.