Comment supprimer des files de la zone de mise en scène git?

J'ai apporté des modifications à certains de mes files dans mon repository local, puis j'ai git add -A qui, je pense, a ajouté trop de files à la zone de transit. Comment puis-je supprimer tous les files de la zone de transit?

Après je fais cela, je vais juste git add "filename" manuellement git add "filename" .

Solutions Collecting From Web of "Comment supprimer des files de la zone de mise en scène git?"

Vous pouvez désactiver les files de l'index en utilisant

 git reset HEAD -- path/to/file 

Tout comme git add , vous pouvez désassembler les files récursivement par directory et ainsi de suite, donc pour tout démonter en une seule fois, lancez ceci depuis le directory racine de votre repository:

 git reset HEAD -- . 

Aussi, pour reference future, la sortie de git status vous indiquera les commands à exécuter pour déplacer des files d'un état à un autre.

Utilisation

 git reset 

pour débuild tous les files mis en scène.

Si vous avez déjà commis un tas de files indésirables, vous pouvez les désactiver et dire à git de les marquer comme supprimés (sans les supprimer) avec

 git rm --cached -r . 

--cached dit de supprimer les paths de la mise en scène et l'index sans supprimer les files eux-mêmes et -r opère sur les directorys récursivement. Vous pouvez ensuite git add tous les files que vous souhaitez conserver.

Les réponses ici semblent obsolètes. Je les ai testés sur Ubuntu et aucun n'a fonctionné. Même la tête de réinitialisation -, avec ou sans point. Donc, je partage juste ce qui a vraiment fonctionné pour moi:

git propre -df

Donc, vous devriez réinitialiser les changements avec

 git reset --hard HEAD 

Ensuite, nettoyez les files et directorys non suivis avec

 git clean -df 

Testé et confirmé sur Ubuntu 15.X. J'espère que cela aidera les prochains. Cordialement.

Référence: https://git-scm.com/docs/git-clean

Comme indiqué dans les autres réponses, vous devriez utiliser git reset . Cela annulera l'action du git add -A .

Note: git reset est équivalent à git reset --mixed qui fait cela

Réinitialise l'index mais pas l'tree de travail (c'est-à-dire, les files modifiés sont conservés mais pas marqués pour la validation) et signale ce qui n'a pas été mis à jour. C'est l'action par défaut. [ git reset ]