J'ai un fork ( origin
) d'un projet ( upstream
) sur github. Maintenant, le projet en amont a ajouté une nouvelle branche, je veux importer dans mon fork. Comment je fais ça?
J'ai essayé de vérifier la télécommande et de créer une branche en plus, mais cela configure la branche de la manière qui git push
essaie de pousser vers le upstream
:
git checkout upstream/branch
git checkout -b branch
Éditer
Peut-être que ce n'était pas clair, mais je veux ajouter la branche à mon référentiel local, afin que je puisse la pousser vers origin
(mon fork) via git push
. Parce que les référentiels en amont sont généralement en lecture seule et que vous le divisez pour contribuer.
Donc, je veux essentiellement récupérer une branche inexistante origin
dont le contenu sera extrait upstream
.
git fetch upstream
c'est une meilleure option à la première étape, car ilgit pull upstream
faut faire plus d'actions aprèsgit remote add ...
pour leupstream
.You asked to pull from the remote 'upstream', but did not specify a branch. Because this is not the default configured remote for your current branch, you must specify a branch on the command line.
L'ajout du nom de la branche à la fin de la commande provoque une fusion entre la branche en amont avec la branche locale courante au lieu de permettre la création d'une nouvelle branche locale. Des idées?git pull upstream
par agit fetch upstream
résolu le problème et les étapes suivantes ont fonctionné.j'utiliserais
la source
J'ai eu des problèmes avec ça aussi, et Google m'a emmené ici. Les solutions n'ont cependant pas fonctionné. Mon problème était que lorsque j'ai ajouté mon amont, il a configuré ma configuration git pour ne récupérer que le maître, plutôt que toutes les branches. par exemple, ça ressemblait à ça
La modification de .git / config comme suit a résolu mon problème
la source
Les étapes suivantes ont bien fonctionné pour moi (en supposant que le nom de la branche en amont est
branch
):la source
--track
?la source
push
poussant àupstream
.J'avais un scénario un peu plus compliqué où j'avais déjà un
upstream
défini dans mon fork (du repo canonique) mais j'avais besoin de récupérer une branche à partir d'un fork différent. Pour ce faire, le processus est légèrement différent. Voici la configuration avec laquelle j'ai fini:Maintenant, vous pouvez également récupérer une branche à partir de
<other_user>
fork.Cela vous donnera une branche locale dérivée de la fourche.
Pour pousser cette branche locale, je devais être précis avec ma commande push.
la source