2017-07-25 14 views
-1

Supposons que j'ai déjà exécuté git fetch, et maintenant je veux exécuter git pull, pour mettre à jour mon myBranch local avec mon origin\myBranch.git pull sans mise à jour à distance

MAIS !! pendant ce temps, après avoir couru le fetch, ma connexion Internet a chuté :(Maintenant, quand je cours git pull il échoue, parce qu'il ne peut pas voir remote Mais je voudrais encore faire la partie locale de la traction

Est-il possible de dire git pull à courir sans faire le git fetch initial

NOTE:. je pourrais mettre à jour git reset --hardmyBranch Mais git pull ne pas toujours faire cela

Je suppose que d'une autre manière. pour formuler la question est "Quelle deuxième commande satisfait: git pull = git fetch + git ??? "?

Répondre

1

En fait, il dépend de votre configuration.

Dans une configuration par défaut, si vous êtes sur my_branch qui a son amont origin/my_branch, puis git pull peut être considéré comme

get fetch 
get merge origin/my_branch 

Configuration (ou arguments de ligne de commande) peut changer ce qui sera fusionné. La configuration peut également changer la 2ème étape d'une fusion en une rebase. Donc quand vous dites

"Quelle seconde commande satisfait: git pull = git fetch + git ???"?

il n'y a pas de réponse à ce que ??? est, mais par défaut il serait fusion.

3

git pull est en fait git fetch + git merge:

+0

oh, c'est tout? Huh. Cool. – Brondahl

+1

Comme l'explique [documentation] (https://git-scm.com/docs/git-pull): * "Dans son mode par défaut,' git pull' est un raccourci pour 'git fetch' suivi de' git merge FETCH_HEAD' . "* – axiac

+0

Le moyen le plus simple de mettre à jour votre copie de travail locale est de fusionner votre copie locale du repo distant (que' git fetch' a mis à jour): 'git merge origin/myBranch'. – gucce