Что такое merge request

GitLab

Work in branches

Работа в функциональных ветках

Этот документ объясняет механизм ветвления и то, каким образом публиковать свои изменения в GitLab.

Терминология

master: главная ветвь проекта. Обычно ветки создаются от master. Вы не должны делать свою работу напрямую в master и должны создавать новые ветки для каждой задачи над которой вы работаете самостоятельно или сообща. Когда работа закончена выполняется слияние вашей ветки обратно в master. Ветвление и слияние в Git должно стать частью вашего ежедневного рабочего процесса.

origin: основной удалённый репозиторий в котором вы публикуете свои изменения и из которого получаете изменения других разработчиков.

Ветки

Две основные долгоживущие ветки:

Настройка GitLab аккаунта

GitLab должен знать что вам разрешено делать, а что нет. Для этого вам нужно настроить доступ по SSH-ключам. Это описано здесь

Цикл разработки

Мы используем подход, основанный на мерж-реквестах. Багфиксы и доработки должны быть опубликованы в собственной ветке разработчика, которая создаётся специально под задачу.
Затем создаётся запрос на слияние новой ветки с веткой master в основном репозитории. Следует избегать публикации непосредственно в ветку master.

Правила именования коммитов

Комментарии к правкам следует писать по-русски в кодировке UTF-8.
Многострочный комментарий состоит из однострочного заголовка отделённого от тела пустой строкой.
Длина строки заголовка и тела не должна превышать 80 символов.
Тело комментария должно содержать информацию о том что сделано и зачем это было сделано.
Многострочный комментарий используется при необходимости детализировать назначение набора изменений.
Если правка относится к задаче в трекере, в заголовке указывается номер задачи Jira.

IS-1276. Экспорт РПП в формат CSV. Выгрузка НДС в назначении платежа.

Правила именования веток

Имена функциональных веток должны кратко, в 1-2-3-4 слова (слова разделяются дефисом), характеризовать назначение ветки.
Нет необходимости включать в наименование ничего не значащие или понятные только вам аббревиатуры, постфиксы, указания на нежелаемое поведение.

Хороший пример: fix-service-control

Создание merge request

Идём на GitLab, находим модуль, в котором мы опубликовали свою ветку, далее на закладке Merge requests и нажимаем кнопку Create merge request.

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

Вводим Title. Заголовок обязательно должен включать номер задачи в Jira и тему, характеризующую изменения.
В Description можем указывать какие именно изменения были сделаны, почему предпочтение отдано именно такому подходу.
Дополнительно здесь можно указать информацию, которая может быть полезна ревьюверу чтобы сориенироваться в предлагаемых правках.
А также упомянуть тех, кому эти изменения могут быть интересны (чьё мнение вам важно). Для этого введите /cc @
Здесь работает markdown-синтаксис.
Проверяем что в список Changes попали только коммиты с вашей ветки.
Выбираем того, кому предстоит принимать ваш запрос из выпадающего списка Assignee.
Ставим галку Remove source branch when merge request is accepted.
Жмём Submit merge request. Мерж-реквест создан. О дальнейшей его судьбе вы будете узнавать из уведомлений, которые начнут приходить на электронную почту.

Больше мерж-реквестов

Для набора изменений, затронувшего несколько модулей, если изменения в этом модуле не совсем тривиальны и нуждаются в ревью (см. ниже раздел «Когда направлять мерж-реквест, а когда нет»), создаётся по одному мерж-реквесту на каждый модуль.
Имена веток во всех модулях должны совпадать. Для навигации между ними в описании добавляются перекрёстные ссылки.

Кто принимает мерж-реквест

Мерж-реквест должен быть одобрен хотя бы одним разработчиком, который не принимал непосредственного участия в написании кода этого изменения

Ревьюверу следует обращать внимание на:

Комментарии и замечания должны находиться непосредственно в данном мерж-реквесте.

Исправления замечаний делаются в той же ветке и видны в мерж-реквесте.

Источник

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

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

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

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

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

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

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

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

Источник

В чем отличие Pull Request от MergeRequest?

Пользовался различными репозиториями(GitHub,Bitbucket,GitLab). В каждом репозитории одно и тоже действие называется по разному. В чем отличие Pull Request от MergeRequest? Почему называются Pull Request и MergeRequest? Может это из-за того что под капотом разные команды?

2 ответа 2

Merge Request и Pull Request это один и тот же функционал, который в разных репозитариях просто называется по разному, об этом можно почитать здесь. И то и другое обозначает один и тот же процесс, в GitHub и Bitbucket называют операцию pull request, потому что первое действие, которое совершит человек, который будет вливать себе правки из request это git pull, тогда как GitLab и Gitorious называют это действие merge request, потому что финальным действием будет слияние изменений (git merge)

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

Всё ещё ищете ответ? Посмотрите другие вопросы с метками git github pull-request или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.22.41046

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

03 Создадим запрос на слияние «Merge request» с веткой «develop» коммитов из ветки «new_branch». Для этого переходим на сайт Gitlab и ищем в меню кнопку Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge requestи на новой открывшейся странице найдем кнопку создания запроса Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge requestвыберем ветки слияния:

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

Запрос можно редактировать, нажав кнопку Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request.

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

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

Что такое merge request. Смотреть фото Что такое merge request. Смотреть картинку Что такое merge request. Картинка про Что такое merge request. Фото Что такое merge request

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

Источник

Creating merge requests

There are many different ways to create a merge request.

From the merge request list

From an issue

When you add, edit, or upload a file

When you create a branch

When you use Git commands locally

You can create a merge request by running Git commands on your local machine.

    Create, edit, or delete files. The stage and commit them:

    GitLab prompts you with a direct link for creating a merge request:

    Copy the link and paste it in your browser.

    You can add other flags to commands when pushing through the command line to reduce the need for editing merge requests manually through the UI.

    When you work in a fork

    After your work is merged, if you don’t intend to make any other contributions to the upstream project, you can unlink your fork from its upstream project. Go to Settings > Advanced Settings and remove the forking relationship.

    By sending an email

    You can create a merge request by sending an email message to GitLab. The merge request target branch is the project’s default branch.

    A merge request is created.

    Add attachments when creating a merge request by email

    The combined size of the patches can be 2 MB.

    If the source branch from the subject does not exist, it is created from the repository’s HEAD or the specified target branch. You can specify the target branch by using the /target_branch quick action. If the source branch already exists, the patches are applied on top of it.

    Set the default target project

    Источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *