Comment rapidement annuler la mise en scène et unstaged changements dans git?
Quel est le moyen le plus rapide pour annuler les modifications (mise en scène et unstaged) dans Git?
Les deux fichiers unstaged.
$ git status -s
M file1.txt # unstaged
?? oops.txt # unstaged
Un fichier de mise en scène, un fichier unstaged.
$ git status -s
M file1.txt # staged
?? oops.txt # unstaged
Je peux add
tous à l'index, puis stash
save
et drop
.
$ git add .
$ git stash save
$ git stash drop
$ git status
nothing to commit, working directory clean
Est-il un moyen plus rapide?
OriginalL'auteur hIpPy | 2013-04-23
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser deux commandes:
git reset --hard
etgit clean -fd
.git reset --hard
va annuler toutes les mises en scène des changements et desgit clean -fd
, unstaged changements (fichiers et répertoires). Vous pouvez créer un alias qui va faire deux commandes. Pour cela, il suffit d'ajouter les lignes suivantes dans votre.gitconfig
:undo = !"git reset --hard && git clean -f"
sympa.. et si vous vous demandez où le bang vient de: stackoverflow.com/questions/10641451/...
Cette réponse utilise une terminologie erronée.
git reset --hard
jette tous les changements, mis en scène dans l'index et unstaged dans l'arbre de travail.git clean -fd
supprime tous les fichiers et répertoires qui ne sont pas suivies. Par exemple rien localement construit comme.o
fichiers,config.make
à partir d'un script de configuration, votretags
, et ainsi de suite.Sans traces de fichiers ne sont pas toujours considérés comme des "changements".
git clean
est dangereux, où il pourquoi il a-f
pour la sécurité!!!OriginalL'auteur William Seiti Mizuta
git reset HEAD
sera unstage toutes les modifications etgit checkout .
annule toutes les modifications.Simple, mais très utile. Merci pour le partage
OriginalL'auteur Nima
Vous pouvez utiliser git nettoyer
Plus d'infos:
git reset --hard
etgit clean -f
.OriginalL'auteur Steven Penny