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:masterorigin/master
git checkout -B master origin/master
La git checkoutpage de manuel mentionne:
Si -Best 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/masterbranche puis réinitialisez master-la.
git fetch origin masteravant pour être sûr que origin/masterc'est mis à jour?
git fetchpremier
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 mastervous pouvez faire ce qui suit:
git reset --hard origin/master
Il indiquera la masterbranche locale à la télécommande origin/masteret rejetera toute modification dans le répertoire de travail.
git checkout -B master origin/master?