Vous avez défini l'amont de cette branche
(voir:
git branch -f --track my_local_branch origin / my_remote_branch
# OU (si my_local_branch est actuellement extrait):
$ git branch --set-upstream-to my_local_branch origin / my_remote_branch
( git branch -f --track
ne fonctionnera pas si la branche est extraite: utilisez la deuxième commande à la git branch --set-upstream-to
place, ou vous obtiendrez " fatal: Cannot force update the current branch.
")
Cela signifie que votre succursale est déjà configurée avec:
branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
Git a déjà toutes les informations nécessaires.
Dans ce cas:
# if you weren't already on my_local_branch branch:
git checkout my_local_branch
# then:
git pull
est assez.
Si vous n'aviez pas établi cette relation de branche en amont quand il s'agissait de pousser votre ' my_local_branch
', alors un simple git push -u origin my_local_branch:my_remote_branch
aurait suffi pour pousser et définir la branche en amont.
Après cela, pour les tractions / poussées suivantes, git pull
ou git push
aurait, encore une fois, suffi.
git pull
c'est assez.git branch -f --track master origin/master
renvoie une erreur:fatal: Cannot force update the current branch.
--set-upstream-to
,--set-upstream
est obsolète et va être supprimé.Vous n'utilisez pas la
:
syntaxe -pull
modifie toujours la branche actuellement extraite. Donc:pendant que vous avez
my_local_branch
vérifié, fera ce que vous voulez.Puisque vous avez déjà l'ensemble de branches de suivi, vous n'avez même pas besoin de spécifier - vous pouvez simplement faire ...
pendant que vous avez
my_local_branch
extrait, et il sera mis à jour à partir de la branche suivie.la source