Comment rétablir l'état antérieur de toutes les modifications locales dans un projet géré par Git ?
J'ai un projet dans lequel j'ai lancé git init
.
Après plusieurs commits, j'ai fait git status
qui m'a dit que tout était à jour et qu'il n'y avait aucun changement local.
Puis j'ai fait plusieurs changements consécutifs et j'ai réalisé que je voulais tout jeter et revenir à mon état d'origine. Cette commande le fera-t-elle pour moi ?
git reset --hard HEAD
1816
3
Si vous souhaitez annuler les modifications apportées à votre copie de travail, procédez comme suit :
Si vous souhaitez annuler les modifications apportées à l'index (c'est-à-dire celles que vous avez ajoutées), procédez comme suit. Attention, ceci réinitialisera tous vos commits non poussés vers master! :
Si vous voulez revenir sur un changement que vous avez commis, faites ceci :
Si vous voulez supprimer les fichiers non suivis (par exemple, les nouveaux fichiers, les fichiers générés) :
Ou des répertoires non suivis (par exemple, des répertoires nouveaux ou générés automatiquement) :
Note : Vous pouvez également exécuter
en tant que
ne supprimera pas les fichiers non suivis, alors que git-clean supprimera tous les fichiers du répertoire racine suivi qui ne sont pas sous suivi git. AVERTISSEMENT - SOYEZ PRUDENT AVEC CECI ! Il est utile de faire d'abord un essai avec git-clean, pour voir ce qu'il va supprimer.
C'est aussi particulièrement utile lorsque vous obtenez le message d'erreur
Cela peut se produire lorsque vous faites plusieurs choses, l'une d'entre elles étant la mise à jour d'une copie de travail lorsque vous et votre ami avez tous deux ajouté un nouveau fichier du même nom, mais qu'il l'a committé dans le contrôle de source en premier, et que vous ne vous souciez pas de supprimer votre copie non tracée.
Dans cette situation, faire un essai vous permettra également de voir la liste des fichiers qui seront écrasés.
Regardez dans git-reflog. Il listera tous les états dont il se souvient (par défaut, 30 jours), et vous pouvez simplement extraire celui que vous voulez. Par exemple :