Développement19 juin 2026· via DEV Community

Git cache des fichiers ignorés dans vos dépôts : le piège à éviter

Git cache des fichiers ignorés dans vos dépôts : le piège à éviter

Image : DEV Community

Vous avez ajouté .env à .gitignore, soulagé, et passé à autre chose… pour découvrir plus tard que ce fichier traîne toujours dans votre dépôt, poussé sur GitHub et cloné par tous. Ce n’est pas un hasard. C’est ainsi que Git fonctionne par conception : .gitignore empêche uniquement l’ajout de fichiers non suivis. Tout ce qui est déjà validé reste suivi, règle d’ignorance ou non.

## Le nettoyage caché dont vous ignoriez avoir besoin

C’est là qu’intervient gitslip : un outil CLI sans dépendance qui scanne votre dépôt et signale chaque fichier suivi que vos propres règles d’ignorance désignent comme ignoré. Lancez npx gitslip et vous obtiendrez un résultat comme :

2 fichiers suivis sont ignorés par vos règles mais restent validés : config/secrets.env ↳ .gitignore:7 *.env logs/app.log ↳ .gitignore:2 *.log

La sortie indique même quelle règle a identifié chaque fichier, éliminant toute ambiguïté. Pour corriger le problème, utilisez gitslip --apply afin d’exécuter git rm --cached sans supprimer la copie locale.

## Pourquoi grep ne suffit pas — et pourquoi gitslip si

Vous pourriez rechercher vos motifs .gitignore dans git ls-files, mais cette méthode omet des subtilités essentielles. Les règles de négation (!important.log), les fichiers .gitignore imbriqués ou les paramètres d’ignorance globaux peuvent fausser les résultats. gitslip évite de réinventer la logique d’ignorance de Git en s’appuyant directement sur Git.

En interne, il combine git ls-files -i -c --exclude-standard pour repérer les fichiers à la fois suivis et ignorés, puis utilise une astuce avec git check-ignore -v sur un index vide pour identifier précisément la règle correspondante — sans faux positifs.

## Une protection pour les équipes et les pipelines CI

Disponible en versions Node et Python (npx gitslip ou pip install gitslip), l’outil produit des résultats identiques dans les deux cas. Il est conçu pour faire échouer les builds lorsqu’un fichier ignoré s’infiltre, en sortant avec un statut 1 si des fichiers sont détectés. Pour les équipes qui exécutent git add -A avant d’écrire .gitignore, c’est un moyen simple d’intercepter les erreurs avant qu’elles ne deviennent des risques de sécurité ou un encombrement du dépôt.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil