J'essaie d'annuler toutes les modifications depuis mon dernier commit. J'ai essayé git reset --hard
et git reset --hard HEAD
après avoir vu ce post . Je réponds que la tête est maintenant au 18c3773 ... mais quand je regarde ma source locale, tous les fichiers sont toujours là. Qu'est-ce que je rate?
git
command-line
undo
git-reset
Antarr Byrd
la source
la source
Réponses:
Cela mettra en scène tous les fichiers que vous pourriez avoir mis en scène avec
git add
:Cela annulera toutes les modifications locales non validées (doit être exécutée à la racine du référentiel):
Vous pouvez également annuler les modifications non validées uniquement dans un fichier ou un répertoire particulier:
Encore une autre façon d'annuler toutes les modifications non validées (plus longues à taper, mais fonctionne à partir de n'importe quel sous-répertoire):
Cela supprimera tous les fichiers locaux non suivis, donc seuls les fichiers suivis par git restent:
Pour résumer: l'exécution des commandes ci-dessous est fondamentalement équivalente à Fresh
git clone
depuis la source d'origine (mais elle ne télécharge rien de nouveau, elle est donc beaucoup plus rapide):Une utilisation typique pour cela serait dans les scripts de construction, lorsque vous devez vous assurer que votre arborescence est absolument propre - n'a pas de modifications ou de fichiers d'objets créés localement ou de créer des artefacts, et vous voulez le faire fonctionner très rapidement et ne pas cloner tout le référentiel à chaque fois.
la source
git clean
, il annulera les modifications non validées mais conservera tous les fichiers non suivis ou ajoutés. Mais, cela peut affecter le résultat de la construction car certains fichiers non suivis peuvent interférer. Par exemple, si votre répertoire .idea était corrompu?git reset
me dit que j'ai des changements à sauvegardergit clean -fdx
supprimé monnode_modules
et.env
, superSi vous souhaitez " annuler " toutes les modifications non validées, exécutez simplement:
Si vous avez des fichiers non suivis (vérifiez en exécutant
git status
), ceux-ci peuvent être supprimés en exécutant:git stash
crée une nouvelle cachette qui deviendra cachée @ {0} . Si vous souhaitez d'abord vérifier, vous pouvez exécutergit stash list
pour voir une liste de vos réserves. Cela ressemblera à quelque chose comme:Chaque stash est nommé d'après le message de validation précédent.
la source
git add .
avantgit stash
car cela me montrait des changements non engagés même aprèsgit stash
il y a aussi
git stash
- qui "cache" vos modifications locales et peut être réappliqué ultérieurement ou supprimé s'il n'est plus nécessaireplus d' informations sur le stockage
la source
J'utilise l'arborescence source .... Vous pouvez annuler toutes les modifications non validées en 2 étapes simples:
1) suffit de réinitialiser l'état du fichier de l'espace de travail
2) sélectionnez tous les fichiers non mis en scène (commande + a), faites un clic droit et sélectionnez supprimer
C'est aussi simple que ça: D
la source
Ce que je fais c'est
Bon mot:
git add . && git stash && git stash drop
la source
Pour ceux qui sont arrivés ici en cherchant s'ils pouvaient annuler
git clean -f -d
, par lequel un fichier créé dans eclipse été supprimé,Vous pouvez faire la même chose depuis l'interface utilisateur en utilisant "restaurer à partir de l'historique local" pour ref: Restaurer à partir de l'historique local
la source
États passant d'un engagement à un nouvel engagement
Action pour la transition de l'État
Vérifier diff
Revenir au dernier commit
Équivalent de git clone, sans re-télécharger quoi que ce soit
la source