Skip to content
Workflows5 min de lectureVérifié Git 2.40+

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.

1. La règle de la barre oblique finale : build/ vs build

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 :

gitignore
# Matches only directories named "build/" (e.g. /build/, /src/build/)
build/

# Matches BOTH a directory named "build" AND a file named "build"
build
Bonne pratique

Ajoutez toujours une barre oblique finale lorsque votre objectif est d'exclure un dossier. Cela évite d'ignorer accidentellement des scripts exécutables sans extension.

2. Dossiers ancrés à la racine vs correspondance récursive

Par défaut, un nom de dossier sans barre oblique initiale correspond à n'importe quel niveau de votre projet :

gitignore
# Matches "logs/" anywhere in the repository: /logs/, /apps/web/logs/, etc.
logs/

# Anchored: Matches "logs/" ONLY at the repository root
/logs/

3. Sous-répertoires imbriqués et jokers

Pour exclure des sous-dossiers précis sans écarter l'arborescence parente, combinez les jokers glob avec des chemins de répertoires :

gitignore
# Ignore any folder named "temp" inside any "build" directory
build/**/temp/

# Ignore all subdirectories inside packages except package files
packages/*/dist/

4. Conserver des dossiers vides avec .gitkeep

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 :

gitignore
# 1. Ignore everything inside uploads/
uploads/*

# 2. But whitelist the .gitkeep file inside it
!uploads/.gitkeep

5. Réinclure des sous-dossiers en toute sécurité

Lorsqu'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 :

gitignore
# 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.

← Lire les guidesOuvrir dans le générateur complet