Un seul fichier .gitignore pour toute votre stack
Ce générateur de .gitignore regroupe des modèles prêts à l'emploi pour langages, frameworks, outils de build, éditeurs et systèmes d'exploitation dans un fichier unique. Choisissez Node et Next.js, ajoutez macOS, Windows et VS Code, et obtenez un .gitignore avec des sections distinctes, sans doublons et avec de la place pour vos règles personnalisées. Les modèles sont synthétisés à partir de la collection github/gitignore et tout est assemblé directement dans votre navigateur.
Comment générer un fichier .gitignore
- 1Saisissez un langage, un framework, un éditeur ou un OS dans la recherche —
python,unity,jetbrains— et cliquez pour l'ajouter. Appuyez sur Entrée pour sélectionner le premier résultat. - 2Combinez autant de modèles que nécessaire. Un projet web standard associe généralement un langage, un framework, votre éditeur et votre système d'exploitation.
- 3Ajoutez des chemins spécifiques dans Lignes personnalisées, tels que
/uploads/ou*.sqlite. - 4Copiez le résultat ou cliquez sur Télécharger sous le nom
.gitignoreet placez-le à la racine de votre dépôt Git.
Rôle d'un fichier .gitignore
Un .gitignore liste les fichiers que Git ne doit pas suivre : dépendances restaurables par un gestionnaire de paquets (node_modules/, vendor/), fichiers générés à la compilation (dist/, target/), caches, journaux, réglages d'éditeurs et secrets tels que .env. Les exclure allège le dépôt, rend les diffs clairs et réduit le risque de fuite de clés d'accès.
Le fichier n'agit que sur les fichiers non suivis (untracked). Si un fichier est déjà suivi dans Git, l'ajouter à .gitignore ne le supprimera pas ; lancez git rm --cached <fichier> (ou git rm -r --cached <dossier>) et validez pour cesser de le suivre tout en conservant la copie locale.
Syntaxe des motifs dans .gitignore
L'ordre est déterminant : la dernière règle correspondante a le dernier mot. C'est pourquoi les exceptions comme !.vscode/settings.json se placent après la règle générale .vscode/*.
- *.log
- Un motif sans barre oblique s'applique à toute profondeur : ignore tous les fichiers .log du dépôt.
- /build
- Une barre oblique initiale ancre le motif au dossier contenant le .gitignore, ignorant uniquement le dossier build de la racine.
- dist/
- Une barre oblique finale cible uniquement les dossiers, pas un fichier nommé dist.
- **/temp
- Deux astérisques couvrent n'importe quel niveau de sous-dossiers : le dossier temp à la racine ou n'importe où en dessous.
- !.env.example
- Un point d'exclamation initial réinclut un fichier exclu par une règle précédente. Impossible de réinclure si le dossier parent est lui-même ignoré.
- # commentaire
- Les lignes commençant par # sont des commentaires ; les lignes vides servent de séparateurs. Échappez avec un antislash devant # ou ! pour les chercher littéralement.
Comment les modèles sont assemblés
Chaque modèle forme une section intitulée ### Nom ###. Lorsque l'option Supprimer les motifs en double est cochée, les motifs déjà apparus sont omis des sections suivantes et les blocs de commentaires vides sont nettoyés, gardant le fichier concis. Les motifs de négation restent à leur place pour préserver leur logique.
Les modèles d'outils et de frameworks se recoupent souvent — Node, Next.js et Vite ignorent tous node_modules et les logs —, la déduplication retire donc couramment un cinquième des lignes.
Fichiers ignore de projet, globaux et locaux
Validez le .gitignore du projet pour le partager avec votre équipe, en le limitant aux fichiers générés par le projet. Les fichiers propres à votre machine — .DS_Store, Thumbs.db, dossier d'éditeur — doivent être configurés dans un fichier ignore global avec git config --global core.excludesFile ~/.gitignore_global. Pour des règles strictement personnelles à un dépôt, utilisez .git/info/exclude.
Les fichiers de verrouillage comme package-lock.json, poetry.lock et Cargo.lock d'une application doivent être suivis pour garantir la reproductibilité des installations. Pour vérifier quelle règle ignore un fichier, lancez git check-ignore -v chemin/du/fichier.
Protégez vos secrets hors de Git
Le modèle Env et secrets ignore les fichiers .env, clés privées et fichiers d'identifiants tout en préservant .env.example pour la documentation. Ignorer un secret ne protège que les commits futurs : si une clé a déjà été poussée, révoquez-la immédiatement car elle subsiste dans l'historique. Outils associés : calculateur chmod pour les permissions et générateur de robots.txt pour les robots web.
Questions fréquentes
- Où dois-je placer le fichier .gitignore ?
- À la racine de votre dépôt, au même niveau que le dossier .git. Vous pouvez aussi placer des fichiers .gitignore dans des sous-dossiers ; leurs règles s'appliqueront à partir de ce dossier.
- Pourquoi Git continue-t-il de suivre un fichier ajouté à .gitignore ?
- .gitignore ne s'applique qu'aux fichiers non encore suivis. Lancez git rm --cached <fichier> (ou git rm -r --cached <dossier>) puis validez ; Git cessera de le suivre sans toucher à votre copie locale.
- Dois-je ignorer package-lock.json ou yarn.lock ?
- Non, pour une application. Les lockfiles fixent les versions exactes des dépendances pour garantir des installations identiques et doivent être suivis dans Git. N'ignorez que les lockfiles d'outils que votre projet n'utilise pas.
- Faut-il ignorer les dossiers .vscode ou .idea ?
- Généralement les réglages personnels uniquement. Le modèle VS Code ignore .vscode/* tout en préservant settings.json, tasks.json et launch.json partagés ; le modèle JetBrains ignore tout le dossier .idea.
- Comment ignorer .DS_Store sur tous mes projets ?
- Ajoutez-le à un fichier d'exclusion global : créez ~/.gitignore_global contenant .DS_Store et exécutez git config --global core.excludesFile ~/.gitignore_global.
- Comment ignorer tout le contenu d'un dossier sauf un fichier ?
- Ignorez le contenu et non le dossier lui-même, puis ajoutez l'exception : dossier/* suivi de !dossier/garder.txt. Un motif comme dossier/ ignore le dossier en entier et rien à l'intérieur ne pourra être réinclus.
- D'où proviennent ces modèles ?
- Ils sont dérivés du dépôt officiel github/gitignore sous licence CC0, après épuration des entrées obsolètes. Vérifiez toujours le résultat pour l'adapter aux particularités de votre projet.