1352 votes

Comment puis-je supprimer un seul fichier à partir de la zone de transit de Git, mais pas de la supprimer de l'index ou d'annuler les modifications dans le fichier lui-même?

Situation: j'ai un dépôt Git avec des fichiers déjà dans l'index. - Je apporter des modifications à plusieurs fichiers, ouvrez Git et ajouter ces fichiers à ma zone de transit avec "git add ."

Question: Comment puis-je supprimer l'une de ces fichiers à partir de la zone de transit, mais pas de la supprimer de l'index ou d'annuler les modifications dans le fichier lui-même?

2049voto

Tim Henigan Points 19948

Si je comprends correctement à la question, vous voulez simplement de "défaire" l' git add qui a été fait pour que le fichier.

Si c'est le cas, alors git reset HEAD <file> va faire le travail.

Vos modifications seront conservées et le fichier sera de nouveau apparaître dans l'modifié, mais pas encore mise en scène de l' git status.

Voir l' git reset page de manuel pour plus de détails.

163voto

user335425 Points 453
git rm --cached FILE

,

git rm -r --cached CVS */CVS

101voto

MTS Points 404

git reset <file>

Fonctionne si oui ou non vous avez des précédentes livraisons.

55voto

cjellick Points 108

Je préfère commenter la principale réponse par Tim Henigan ci-dessus, mais n'avez pas les droits suffisants pour le faire.

Ainsi, une légère régler pour avoir sa réponse: vous devez utiliser -- avant le nom de fichier. Il devrait ressembler à ceci:

git reset HEAD -- <file>

4voto

thilinarmtb Points 249

Si vous souhaitez supprimer les fichiers suivant un certain modèle et que vous utilisez git rm --cached, vous pouvez utiliser le fichier-glob modèles de trop.

Voir ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X