3 votes

Erreurs de vérification Git

J'utilise un script pour extraire automatiquement le premier commit de chaque mois, pour les 12 derniers mois. Occasionnellement, quelque chose d'étrange se produit et je ne suis plus autorisé à extraire les livraisons passées. L'erreur ressemble à ceci :

error: Your local changes to the following files wold be overwritten by checkout:

db tests/framework.cpp

Please, commit your changes or stash them before you can switch branches. Aborting

Cela s'est produit à plusieurs reprises (je ne modifie aucun fichier, je les vérifie simplement). J'ai l'habitude de télécharger une nouvelle copie du repo depuis Github et de recommencer le processus, et cela fonctionne. Mais une fois que c'est cassé, je ne sais pas comment le réparer, et ça continue à se produire. Comment faire pour que cela ne se reproduise plus ?

Voici l'itération en cours dans mon script, suivie de la sortie de git status

for i in {12..1}

do

cd
cd git/mongodb/mongo

git checkout master                   
git checkout $(git rev-list --before "$(date -d "$(date +%Y-%m-01) -$i months 00:01" +%Y-%m)-01" -n 1 HEAD)
git checkout master

Statut Git :

Sur la branche master

Les modifications ne sont pas mises en scène pour la livraison :

        modified:    dbtests/framework.cpp

Fichiers non suivis :

       SHA1.txt
       SHA1.txt.
       file
       file.

aucun changement n'a été ajouté au commit

5voto

Amber Points 159296

Vous pouvez utiliser le --force pour que Git effectue quand même le checkout.

Vous pouvez également utiliser git reset --hard pour réinitialiser les commits, plutôt que d'utiliser checkout.

0voto

VonC Points 414372

La syntaxe 2019+ utiliserait désormais le code nouveau git switch commande (Git 2.23+)

git switch -f ...

L'option -f est un alias de l'option --discard-changes option :

Continuer même si l'index ou l'arbre de travail diffère de HEAD.
L'index et l'arborescence de travail sont restaurés pour correspondre à la cible de basculement.
Si --recurse-submodules est spécifié, le contenu du sous-module est également restauré pour correspondre à la cible de basculement.

Cette fonction est utilisée pour supprimer les modifications locales.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X