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 или начать дискуссию.


комментирии в 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 для отмены.

Читайте про Gitlab Wiki и документацию к проектам в Gitlab

Сказать спасибо