Git: Как проверить запрос слияния локально и создать новую локальную ветвь?
У меня есть gitlab-репозиторий там, где мне нужно протестировать каждый запрос на слияние локально, до слияния с целевой ветвью. Как я могу взять/получить запрос слияния как новую ветку?
Ответы
Ответ 1
-
Запрос запроса на слияние на новую ветку
git fetch origin merge-requests/REQUESTID/head:BRANCHNAME
т.е. git fetch origin merge-requests/10/head:file_upload
-
Оформить заказ на вновь созданную ветку
git checkout BRANCHNAME
т.е. (git checkout file_upload
)
ИЛИ с одной командой
git fetch origin merge-requests/REQUESTID/head:BRANCHNAME && git checkout BRANCHNAME
т.е. git fetch origin merge-requests/18/head:file_upload && git checkout file_upload
Ответ 2
Это также задокументировано в онлайн-документации GitLab: https://gitlab.com/help/user/project/merge_requests/index.md#checkout-merge-requests-locally
Они поставляют этот скрипт (git alias):
[alias]
mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -
Тогда вы можете использовать эту команду:
мерзавец происхождение 4
Таким образом, будет создан новый локальный филиал mr-origin-4
.
Ответ 3
Вы также можете добавить строку
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
в ваш .git/config
чтобы git fetch
извлекал все запросы на слияние.