Comment ignorer un dossier dans Git
Guide pratique sur l'exclusion de répertoires : rôle de la barre oblique finale, dossiers ancrés à la racine, sous-dossiers et gestion des dossiers vides avec .gitkeep.
Dans Git, ajouter une barre oblique finale (/) signale à Git de ne cibler que les dossiers et d'ignorer les fichiers réguliers portant le même nom :
# Matches only directories named "build/" (e.g. /build/, /src/build/)
build/
# Matches BOTH a directory named "build" AND a file named "build"
buildAjoutez toujours une barre oblique finale lorsque votre objectif est d'exclure un dossier. Cela évite d'ignorer accidentellement des scripts exécutables sans extension.
Par défaut, un nom de dossier sans barre oblique initiale correspond à n'importe quel niveau de votre projet :
# Matches "logs/" anywhere in the repository: /logs/, /apps/web/logs/, etc.
logs/
# Anchored: Matches "logs/" ONLY at the repository root
/logs/Pour exclure des sous-dossiers précis sans écarter l'arborescence parente, combinez les jokers glob avec des chemins de répertoires :
# Ignore any folder named "temp" inside any "build" directory
build/**/temp/
# Ignore all subdirectories inside packages except package files
packages/*/dist/Git suit uniquement des fichiers, jamais des répertoires vides. Pour versionner une structure de dossiers vide (ex. uploads/ ou logs/), utilisez la convention .gitkeep :
# 1. Ignore everything inside uploads/
uploads/*
# 2. But whitelist the .gitkeep file inside it
!uploads/.gitkeepLorsqu'un dossier parent est exclu, vous ne pouvez pas simplement réinclure un sous-dossier avec un point d'exclamation. Vous devez cibler le contenu :
# Ignore everything inside config/
config/*
# Whitelist production folder and its contents
!config/production/
!config/production/**Questions fréquentes
Réponses aux questions courantes sur les règles .gitignore, la gestion du cache et du dépôt.
Quelle est la différence entre dossier et dossier/ dans .gitignore ?
'dossier/' cible exclusivement les répertoires. 'dossier' sans barre cible à la fois les dossiers et les fichiers réguliers portant ce nom.
Comment versionner un dossier vide dans Git ?
Placez un fichier vide nommé .gitkeep dans le dossier, ignorez son contenu avec 'dossier/*' et définissez l'exception '!dossier/.gitkeep'.
Comment ignorer le contenu d'un dossier tout en conservant le dossier lui-même ?
Utilisez 'repertoire/*' au lieu de 'repertoire/'. Cela ignore les fichiers internes sans bloquer l'exploration du répertoire par Git.
Guides et Références .gitignore
Comment ignorer des fichiers déjà suivis dans Git
La solution au problème classique dans Git : retirer de l'index des fichiers sensibles ou générés qui avaient été accidentellement commités avant l'ajout du .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.
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.