Realizar o checkout de um merge request do GitLab.
Opção 1: criar uma referência para o merge request
1
2
3
| git fetch origin merge-requests/MERGE_REQUEST_ID/head:REF_BRANCH_NAME
# MERGE_REQUEST_ID = ID do Merge Request
# REF_BRANCH_NAME = um nome qualquer
|
Exemplo
1
2
| git fetch origin merge-requests/118/head:MR118
git checkout MR118
|
Checando a referência: git show-ref | grep MR118
Deletando a referência: git branch -D MR118
Opção 2: adicionando uma nova referência ao remote
É possível editando o arquivo .git/config ou por meio do comando git config -e. Vamos fazer por meio do comando.
1
2
| # abrir as configurações do git no editor padrão
git config -e
|
Dentro da seção [remote "origin"] adicionar na última linha o trecho abaixo
1
| fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
|
ficando algo parecido com
1
2
3
4
| [remote "origin"]
url = git@git.doinio.com:mhagnumdw/dummy.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
|
então, salvar o arquivo.
Em seguida fazer o checkout do merge request
1
2
3
4
| # atualizar as referências (vão aparecer as referências de merge request)
git fetch origin
# checkout do merge request (ID do merge request ao final)
git checkout origin/merge-requests/118
|
Referências