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?

67
demandé sur skyork 2012-07-01 03:38:35

2 réponses

Vous avez mis de l'amont de la branche

(voir:

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.

52
répondu VonC 2017-06-22 16:11:24

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.

47
répondu Amber 2012-07-01 00:01:26