Vous pouvez référencer ces branches de suivi à distance ~ (répertoriées avec git branch -r
) avec le nom de leur télécommande.
Vous devez récupérer la branche distante:
git fetch origin aRemoteBranch
Si vous souhaitez fusionner l'une de ces branches distantes sur votre branche locale:
git checkout master
git merge origin/aRemoteBranch
Remarque 1: pour un grand référentiel avec une longue histoire, vous souhaiterez ajouter l' --depth=1
option lorsque vous utilisez git fetch
.
Remarque 2: Ces commandes fonctionnent également avec d'autres dépôts distants afin que vous puissiez configurer un origin
et un upstream
si vous travaillez sur un fork.
Scénario opposé: Si vous souhaitez fusionner une de vos succursales locales sur une branche distante (par opposition à une branche distante à une locale, comme indiqué ci-dessus), vous devez d'abord créer une nouvelle branche locale au-dessus de ladite branche distante:
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
L'idée ici, est de fusionner "une de vos succursales locales" (ici anotherLocalBranch
) à une succursale distante ( origin/aBranch
).
Pour cela, vous créez d'abord " myBranch
" comme représentant cette branche distante: c'est la git checkout -b myBranch origin/aBranch
partie.
Et puis vous pouvez fusionner anotherLocalBranch
à elle (à myBranch
).
aLocalBranch
" en "myBranch
", "myBranch
" représentant une succursale distanteorigin/aBranch
.aLocalBranch
n'est pas une faute de frappe, mais vous avez approuvé la dernière modification (2 ans plus tard!) Qui corrige cette "faute de frappe probable". Je voulais vérifier avec vous avant d'annuler la modification.Chaque fois que je fais une fusion, j'entre dans la branche dans laquelle je veux fusionner (par exemple "
git checkout branch-i-am-working-in
"), puis je fais ce qui suit:git merge origin/branch-i-want-to-merge-from
la source
git fetch origin/branch-i-want-to-merge-from
première, non?git fetch origin develop
suivi degit merge origin/develop
git merge
seul ne le fera pas.git add .
->git commit -m <message>
->git push -u origin <branch>
?Récupérez d'abord la branche distante à partir de l'origine.
Fusionner la branche distante à la branche locale
la source
Vous souhaitez peut-être suivre la branche distante avec une branche locale:
git branch new-local-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
la source
Si vous avez déjà récupéré votre branche distante et que vous le faites
git branch -a
,vous obtenez quelque chose comme:
Après cela, vous pouvez utiliser
rep_mirror/8.0
pour désigner localement votre branche distante.L'astuce est que
remotes/rep_mirror/8.0
cela ne fonctionne pas maisrep_mirror/8.0
fonctionne.Donc, une commande comme
git merge -m "my msg" rep_mirror/8.0
faire la fusion.(note: ceci est un commentaire à la réponse @VonC. Je l'ai mis comme une autre réponse parce que les blocs de code ne rentrent pas dans le format de commentaire)
la source