Puis-je faire ce qui suit d'une manière plus simple?
git checkout origin/master
git branch -D master
git branch master
git checkout master
Puis-je faire ce qui suit d'une manière plus simple?
git checkout origin/master
git branch -D master
git branch master
git checkout master
Réponses:
Comme le mentionne la réponse de KindDragon , vous pouvez recréer directement à partir de:master
origin/master
git checkout -B master origin/master
La git checkout
page de manuel mentionne:
Si -B
est donné, <new_branch>
est créé s'il n'existe pas; sinon, il est réinitialisé . C’est l’équivalent transactionnel de
$ git branch -f <branch> [<start point>]
$ git checkout <branch>
Initialement suggéré:
Quelque chose comme:
$ git checkout master
# remember where the master was referencing to
$ git branch previous_master
# Reset master back to origin/master
$ git reset --hard origin/master
l'étape 2 étant facultative.
Git supporte cette commande:
git checkout -B master origin/master
Vérifiez la origin/master
branche puis réinitialisez master
-la.
git fetch origin master
avant pour être sûr que origin/master
c'est mis à jour?
git fetch
premier
Je pense que même la réponse de VonC est complexe par rapport à cette option:
git update-ref refs/heads/master origin/master
git reset --hard master
git enregistre automatiquement chaque valeur d’un ref (par le biais du reflog). Ainsi, après avoir exécuté cette commande, master@{1}
fait référence à la valeur précédente de maître.
La réponse de VonC est correcte, mais elle gaspille du temps en récupérant l'ancienne valeur de master dans le système de fichiers.
Si vous vous souciez d'objets orphelins dans le référentiel, vous pouvez exécuter git gc
Already on 'master'
Si vous êtes déjà sur master
vous pouvez faire ce qui suit:
git reset --hard origin/master
Il indiquera la master
branche locale à la télécommande origin/master
et rejetera toute modification dans le répertoire de travail.
git checkout -B master origin/master
?