Réponses:
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=1option lorsque vous utilisez git fetch.
Remarque 2: Ces commandes fonctionnent également avec d'autres dépôts distants afin que vous puissiez configurer un originet un upstreamsi 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/aBranchpartie.
Et puis vous pouvez fusionner anotherLocalBranchà elle (à myBranch).
aLocalBranch" en " myBranch", " myBranch" représentant une succursale distante origin/aBranch.
aLocalBranchn'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
git fetch origin/branch-i-want-to-merge-frompremière, non?
git fetch origin developsuivi 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.
git fetch origin remote_branch_name
Fusionner la branche distante à la branche locale
git merge origin/remote_branch_name
Vous souhaitez peut-être suivre la branche distante avec une branche locale:
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullSi vous avez déjà récupéré votre branche distante et que
vous le faites git branch -a,
vous obtenez quelque chose comme:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Après cela, vous pouvez utiliser rep_mirror/8.0pour désigner localement votre branche distante.
L'astuce est que remotes/rep_mirror/8.0cela ne fonctionne pas mais rep_mirror/8.0fonctionne.
Donc, une commande comme git merge -m "my msg" rep_mirror/8.0faire 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)