2010-11-29 8 views
43

Comment puis-je supprimer des fichiers supprimés de mon repo Git?Git montrant toujours les fichiers supprimés après une validation

J'ai supprimé un dossier d'une bibliothèque JavaScript contenant de nombreux fichiers. Je suis ensuite allé commettre les modifications comme suit:

git add . 
git commit "message" 
git status 

Mais il montre tous ces fichiers comme "effacés ....".

Comment puis-je les faire disparaître?

+1

duplication possible de [Supprimer tous les fichiers supprimés de "modifié mais pas mis à jour" dans Git] (http://stackoverflow.com/questions/3169787/remove-all-deleted-files-from-changed-but-not- updated-in-git) –

+0

duplication possible de [Comment valider tous les fichiers supprimés dans Git?] (http://stackoverflow.com/questions/1402776/how-do-i-commit-all-deleted-files-in -git) – Ben

Répondre

27

Si elle répertorie les fichiers sous " à commettre "section, alors continuez avec le commit; les fichiers resteront supprimés. (. Git pistes suppressions, pas seulement change)

Si elle répertorie les fichiers dans la section « changé, mais pas mis à jour », vous avez deux options:

  1. les Undelete en rétablissant la version dans la indice git checkout path/to/folder
  2. les Mark supprimées dans Git, puis commit: git rm -r path/to/folder
+2

Je vois, et si j'ai supprimé plusieurs petits fichiers (vraisemblablement jusqu'à des douzaines) dispersés dans des dossiers différents, dois-je faire le git rm pour chacun? Y a-t-il un raccourci? Merci –

+4

En supposant que vous n'avez pas d'autres changements à mettre en scène, ou que cela ne vous dérange pas de les mettre en scène, 'git add -u' mettra en scène toutes les suppressions à la fois. – cdhowie

6

Vous devez enregistrer qu'ils sont en effet destinés à être supprimés. De la même manière que vous enregistrez les modifications de fichiers. Au lieu de git add, vous utiliserez git rm.

1

vous devez dire git qu'il est retiré

git rm folder 

ou si vous ne voulez pas les garder en pension, vous pouvez les ajouter à .gitignore

99

Cela ajoutera supprime ainsi.

git add -u . 

Vérifiez ce qui se met en scène à engager avec:

git status 
+7

C'est la réponse que je cherchais ... – Siddharth

+0

git status montre un fichier comme étant supprimé quand il est toujours là sur le stockage local. et l'exécution git add ne rajoute pas le fichier, il met en place le changement pour être permanent. comment peut-on modifier quel changement git a détecté automatiquement? – anon58192932

+3

Ceci devrait être la réponse acceptée. – Denees

8

git add -u.

Si vous tapez git status et le résultat dit à jour, mais en rouge, il dit

supprimé: dossier/example0.jpg
supprimé: dossier/example1.jpg
supprimé: dossier/example2.jpg

Vous devez saisir ce qu'il soit définitivement supprimé"git add -u."alors tout le texte rouge sera marqué en vert.

**** Ne pas oublier l'espace entre la lettre u et la période

+1

parfaitement décrit et celui que je cherche – WpTricks24

0

En supposant que vous voulez supprimer un fichier et ne voudriez pas qu'il soit engagé:

utiliser la commande :

nom git reset HEAD

puis faire une s git tatus pour vérifier si le fichier à supprimer n'apparaît pas

puis faire un git commit

0

je me trouve avoir un dossier « supprimé » inattendu après i « rm xxx » pour supprimer certains fichiers local.

Je crée d'abord une branche temporaire et valide le dossier «supprimé» indésirable, puis supprime cette branche temp.

Questions connexes