J'ai un dépôt gitlab là-bas, je dois tester chaque demande de fusion localement, avant de fusionner avec la branche cible. Comment puis-je extraire/récupérer la demande de fusion en tant que nouvelle branche?
Tirez la demande de fusion vers une nouvelle branche
git fetch Origin merge-requests/REQUESTID/head:BRANCHNAME
c'est à dire git fetch Origin merge-requests/10/head:file_upload
Paiement vers une succursale nouvellement créée
git checkout BRANCHNAME
c'est à dire (git checkout file_upload
)
OU avec une seule commande
git fetch Origin merge-requests/REQUESTID/head:BRANCHNAME && git checkout BRANCHNAME
c'est à dire git fetch Origin merge-requests/18/head:file_upload && git checkout file_upload
Ceci est également documenté dans la documentation en ligne de GitLab: https://gitlab.com/help/user/project/merge_requests/index.md#checkout-merge-requests-locally
Ils fournissent ce script (git alias):
[alias]
mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -
Ensuite, vous pouvez utiliser cette commande:
git mr Origin 4
Donc une nouvelle branche locale mr-Origin-4
sera créé.
Vous pouvez également ajouter la ligne
fetch = +refs/merge-requests/*/head:refs/remotes/Origin/merge-requests/*
à ton .git/config
avoir git fetch
récupérer toutes les demandes de fusion.