web-dev-qa-db-fra.com

Pourquoi .gitignore n'ignore-t-il pas mes fichiers?

Voir l'image ci-dessous. Mon fichier .gitignore devrait ignorer tous les fichiers de src/dist, mais ne l’est pas.

 enter image description here

21
Richard

.gitignore ignore uniquement les fichiers qui ne font pas encore partie du référentiel. Si vous avez déjà git added des fichiers, leurs modifications seront toujours suivies… .. Pour supprimer ces fichiers de votre référentiel (mais pas de votre système de fichiers), utilisez git rm --cached.

50
Elmar Peise

gitignore ignore uniquement les fichiers non suivis . Vos fichiers sont marqués comme modifiés - ce qui signifie qu'ils ont été validés et qu'ils sont passés et qu'ils sont maintenant suivis par git.

Pour les ignorer, vous devez d'abord les supprimer, git rm, les valider, puis les ignorer.

5
Igal S.

Le fichier .gitignore garantit que les fichiers non suivis par Git restent non suivis.

Ajouter simplement des dossiers/fichiers à un fichier .gitignore ne les extraira pas, ils resteront suivis par Git.

Pour extraire les fichiers, il est nécessaire de supprimer du référentiel les fichiers suivis répertoriés dans le fichier .gitignore. Puis rajoutez-les et validez vos modifications. 

Le moyen le plus simple et le plus complet de procéder consiste à supprimer et à mettre en cache tous les fichiers du référentiel, puis à les rajouter tous. Tous les dossiers/fichiers répertoriés dans le fichier .gitignore ne seront pas suivis. Dans le dossier supérieur du référentiel, exécutez les commandes suivantes: 

git rm -r --cached . git add .

Puis validez vos modifications:

git commit -m "Untrack files in .gitignore"

Veuillez noter que tous les validations précédentes avec les fichiers indésirables resteront dans l'historique des validations. Lorsque vous appuyez sur GitHub, gardez à l'esprit qu'un historique de validation peut contenir des fichiers .env ou client_secret.json.

La meilleure pratique consiste à créer un fichier .gitignore et à le renseigner avec les dossiers/fichiers que vous ne souhaitez pas suivre lors du démarrage d'un projet. Cependant, il est souvent nécessaire d’ajouter au fichier .gitignore après avoir réalisé que des fichiers indésirables sont en cours de suivi et stockés.

2
MarckK

Regardez ceci: .gitignore ne fonctionne pas Et particulièrement la remarque de ADTC:

Assurez-vous que votre fichier .gitignore utilise le codage ANSI ou UTF-8. Si elle utilise autre chose comme la nomenclature Unicode, il est possible que Git ne puisse pas lire le fichier. - ADTC 14 décembre 17 à 12:39

0
Philippe Raemy