Mettre à jour une branche locale avec les changements d'une branche distante suivie
j'ai une branche locale appelée my_local_branch
', qui trace une branche distante origin/my_remote_branch
.
maintenant, la branche distante a été mise à jour, et je suis sur le ' my_local_branch
" et je veux tirer dans ces changements. Devrais-je juste faire:
git pull origin my_remote_branch:my_local_branch
est-ce la bonne façon?
2 réponses
Vous avez mis de l'amont de la branche
(voir:
- " Comment faire pour qu'une branche git existante suive une branche distante? " et
- " Git: Pourquoi dois-je faire
--set-upstream-to
tout le temps?
)
git branch -f --track my_local_branch origin/my_remote_branch # OR (if my_local_branch is currently checked out): $ git branch --set-upstream-to my_local_branch origin/my_remote_branch
( git branch -f --track
ne fonctionnera pas si la branche est cochée: utiliser le deuxième commande git branch --set-upstream
à la place, ou vous obtiendriez fatal: Cannot force update the current branch.
cela signifie que votre branche est déjà configuré avec:
branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
git dispose déjà de 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 suffisant.
si vous n'aviez pas établi cette relation de branche en amont quand il est venu pour pousser votre ' my_local_branch
', alors un simple git push -u origin my_local_branch:my_remote_branch
aurait été suffisant pour pousser et mettre la branche amont.
Après cela, pour les pulls/push suivants, git pull
ou git push
aurait, encore une fois, été suffisant.
vous n'utilisez pas la syntaxe :
- pull
modifie toujours la branche actuellement cochée. Ainsi:
git pull origin my_remote_branch
pendant que vous avez my_local_branch
vérifié fera ce que vous voulez.
puisque vous avez déjà la branche tracking définie, vous n'avez même pas besoin de spécifier - Vous pouvez simplement le faire...
git pull
pendant que vous avez my_local_branch
vérifié, et il sera mis à jour à partir de la branche tracked.