Comment ignorer des fichiers déjà suivis dans Git
La solution au problème le plus fréquent dans Git : retirer des fichiers de l'index de suivi sans perdre vos configurations et données locales.
Par conception, le fichier .gitignore spécifie uniquement des motifs pour les fichiers non suivis (untracked). Dès qu'un fichier a été indexé (staged) et validé (committed) dans Git, l'outil continue d'en suivre les modifications dans son index.
Git n'arrêtera jamais de suivre un fichier existant simplement parce que son nom figure désormais dans le .gitignore. Pour que la règle soit prise en compte, vous devez expressément le retirer de l'index de Git tout en préservant le fichier physique sur votre disque.
.gitignore empêche les nouveaux fichiers d'être accidentellement ajoutés au dépôt ; il ne cesse pas de suivre les fichiers que Git surveille déjà.
Utilisez le paramètre --cached avec la commande git rm pour supprimer le fichier de l'index sans toucher à votre copie locale :
# 1. Assurez-vous que le motif est bien présent dans votre .gitignore
echo ".env" >> .gitignore
# 2. Supprimez le fichier uniquement de l'index Git
git rm --cached .env
# 3. Validez la suppression de l'index
git commit -m "Stop tracking .env file"Si un dossier complet tel que build/ ou node_modules/ a été commité par mégarde, ajoutez l'option récursive -r à --cached :
# 1. Ajoutez le dossier à votre .gitignore
echo "build/" >> .gitignore
# 2. Supprimez récursivement le dossier de l'index Git
git rm -r --cached build/
# 3. Validez la modification
git commit -m "Stop tracking build/ output directory"Si plusieurs fichiers ont été commités avant la configuration de votre .gitignore, réinitialisez l'index complet du dépôt :
# 1. Vérifiez que votre espace de travail est propre
git status
# 2. Retirez tous les fichiers de l'index Git
git rm -r --cached .
# 3. Ré-ajoutez les fichiers en respectant le .gitignore
git add .
# 4. Validez la mise à jour de l'index
git commit -m "Refresh repository tracking to match .gitignore"L'option git rm --cached protège votre fichier sur votre machine. Cependant, dès que vous poussez ce commit, les collègues exécutant git pull verront le fichier supprimé du dépôt et Git l'effacera de leur disque s'ils n'en ont pas fait de sauvegarde.
Prévenez toujours vos équipiers avant de retirer des fichiers de configuration et fournissez un exemple tel que .env.example.
Questions fréquentes
Réponses aux questions courantes sur les règles .gitignore, la gestion du cache et du dépôt.
Pourquoi Git continue-t-il de suivre mon fichier après son ajout au .gitignore ?
.gitignore ne s'applique qu'aux fichiers non suivis. Si le fichier a déjà été commité, vous devez exécuter 'git rm --cached <fichier>' pour le retirer de l'index de suivi.
Est-ce que git rm --cached supprime mon fichier physique ?
Non. L'option --cached supprime uniquement le fichier de la zone d'index de Git. Vos données et fichiers physiques restent intacts sur votre disque.
Que se passe-t-il pour mes collaborateurs lors du git pull ?
Le fichier étant retiré du dépôt distant, Git supprimera la copie locale des autres développeurs lors du pull. Fournissez un fichier .env.example pour faciliter leur configuration.
Guides et Références .gitignore
Guide de syntaxe et de motifs dans .gitignore
Présentation détaillée du format des motifs, du globbing, des barres obliques initiales/finales, des subtilités de négation et des plages de caractères dans Git.
Comment ignorer un répertoire dans Git
Explication claire des règles pour ignorer des répertoires : comportement de la barre oblique finale, dossiers relatifs à la racine, sous-dossiers et conservation de répertoires vides.
Exemples de .gitignore pour les stacks modernes
Exemples pratiques et sélectionnés de fichiers .gitignore pour langages populaires, frameworks backend, jeux vidéo, applications mobiles et conteneurs.