J'ai ajouté des fichiers par erreur en utilisant la commande "git add dir". Je n'ai pas encore lancé "git commit". Existe-t-il un moyen de supprimer ce répertoire et tout ce qu'il contient du commit?
J'ai essayé git reset dir
, mais cela n'a pas fonctionné. Apparemment, git reset file
c'est le moyen de le défaire. Mais j'ai tellement de fichiers et si peu de temps.
git reset <path>
met à jour l'index de ce chemin afin qu'il correspondeHEAD
(le commit actuel). Cela ne touche pas l'arbre de travail.Réponses:
Pour supprimer un répertoire et tout ce qu'il contient de l'index,
Le
--cached
commutateur faitgit rm
fonctionner uniquement sur l'index et ne touche pas la copie de travail. Le-r
commutateur le rend récursif.la source
--cached
commutateur. Néanmoins, j'ai modifié la réponse pour préciser qu'elle s'applique uniquement à l'index.git reset HEAD folder
tout a été corrigé ... mais avant de faire cela, faites ungit status folder
, et assurez-vous qu'il est dit qu'il a `` supprimé '' tous les fichiers de ce dossierVous voudrez utilisergit rm --cached -r <dir>
. cette commande supprimera le contenu du répertoire intermédiaire de l'index.si le répertoire a déjà été suivi, vous devez rechercher manuellement les nouveaux et anciens fichiers et les désinstaller…Exécutez probablementgit reset <dir>
après cela pour réinitialiser les fichiers existants (et déjà suivis) dans le répertoire.Mise à jour 2019:
Exécutez simplement
git reset directory
, il désinstallera tous les fichiers récemment ajoutés.la source
git reset <dir>
assez seul?git reset <dir>
cela fonctionnerait aussi. La réponse date de 2011, donc je ne sais pas si cela fonctionnait déjà il y a 8 ans. Je mettrai à jour la réponse. Merci pour l'indice!Utilisez
find
etxargs
:la source
Répertoire d'annulation
Désactive tous les fichiers et dossiers avec lesquels j'ai mis en scène:
Confirmer l'annuaire non organisé
Afin de confirmer la suppression du répertoire et de son contenu de la mise en scène (c'est-à-dire "Modifications à valider"), exécutez ce qui suit:
ou
pour confirmer qu'aucun des dossiers ou fichiers précédemment mis en scène ne l'est toujours.
la source
Une commande simple pour supprimer un fichier / dossier intermédiaire qui n'est pas encore validé est -
git restore --staged <dir>
.la source