web-dev-qa-db-fra.com

Comment supprimer des fichiers de la zone de stockage Git?

J'ai apporté des modifications à certains de mes fichiers dans mon dépôt local, puis j'ai fait git add -A qui, je pense, a ajouté trop de fichiers à la zone de transfert. Comment puis-je supprimer tous les fichiers de la zone intermédiaire?

Après cela, je ferai simplement git add "filename" manuellement.

342
omega

Vous pouvez décompresser des fichiers de l'index à l'aide de

git reset HEAD -- path/to/file

Tout comme git add, vous pouvez décompacter des fichiers de manière récursive par répertoire, etc., afin de tout décomposer en une seule fois, exécutez cette opération à partir du répertoire racine de votre référentiel:

git reset HEAD -- .

De plus, pour consultation ultérieure, la sortie de git status vous indiquera les commandes à exécuter pour déplacer des fichiers d’un état à un autre.

471
Ash Wilson

Utilisation

git reset

pour décaler tous les fichiers mis en scène.

212
Antony Hatchkins

Si vous avez déjà validé plusieurs fichiers indésirables, vous pouvez les décompresser et dire à git de les marquer comme supprimés (sans les supprimer) avec 

git rm --cached -r .

--cached lui dit de supprimer les chemins d'accès de staging et l'index sans supprimer les fichiers eux-mêmes et -r opère de manière récursive sur les répertoires. Vous pouvez ensuite git add tous les fichiers que vous souhaitez suivre.

80
Max

Vous pourriez utiliser

git reset HEAD

puis ajoutez les fichiers spécifiques que vous voulez avec

git add [directory/]filename
28
Shad

Comme indiqué dans d'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 le fait

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

5
Dan Rosenstark

Le meilleur moyen d’annuler votre fichier qui se trouve déjà dans la zone de transfert est git reset --hard, ce qui ramène vos fichiers transférés à l’arrière. Attention maintenant, cela supprimera les changements par étapes et non mis en scène.

0
pix data

Vous pouvez réinitialiser la zone d'activation de plusieurs manières:

  1. Réinitialisez HEAD et ajoutez tous les fichiers nécessaires pour procéder à l’enregistrement, comme indiqué ci-dessous:

     git reset HEAD ---> removes all files from the staging area
     git add <files, that are required to be committed>
     git commit -m "<commit message>"
     git Push 
    
0
Amit Kaneria