559 votes

.Gitignore s’appliquant aux fichiers engagés

J’ai commis des chargements de fichiers que je veux désormais ignorer. Comment puis-je dire git d’ignorer maintenant ces fichiers du futur s’engage ?

EDIT : je ne veux pas les supprimer du référentiel de trop. Ce sont des fichiers créés après jamais construire ou pour outillages spécifiques à l’utilisateur prend en charge.

678voto

Jonathan Callen Points 3218

Après l'édition d' .gitignore de faire correspondre les fichiers ignorés, vous pouvez le faire git ls-files -ci --exclude-standard pour voir les fichiers qui sont inclus dans les listes d'exclusion; vous pourrez alors faire une git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached pour les supprimer à partir du référentiel (sans les supprimer du disque).

Edit: Vous pouvez également ajouter un alias dans votre .gitconfig fichier de sorte que vous pouvez exécuter à tout moment vous le souhaitez. Il suffit d'ajouter la ligne suivante dans la section [alias] section:

    apply-gitignore = !git ls-files -ci --exclude-standard -z | xargs -0r git rm --cached

( -r Drapeau en xargs empêche git rm d'exécution sur un résultat vide et l'impression de son message d'utilisation.)

Maintenant, vous pouvez simplement taper git apply-gitignore dans votre pension, et il va faire le travail pour vous!

592voto

Matt Ball Points 165937

186voto

pour conserver le fichier dans le repo mais ignorer les changements futurs:

git update-index --assume-unchanged <file>

et pour annuler ce:

git update-index --no-assume-unchanged <file>

pour trouver les fichiers qui ont été mis de cette façon:

git ls-files -v|grep '^h'

crédit pour l'original de la réponse à http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/

-1voto

Marian Theisen Points 3482

je crains que vous devez les supprimer à partir de votre dépôt avec git rm ignoredfile1 ignoredfile2etc. certains bash gourou peut sûrement vous aider avec un peu de magie .gitignore - modèles à l'aide d' find etc.

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