Générateur de .gitignore — modèles pour chaque langage et IDE
Combinez des modèles .gitignore de langages, frameworks, éditeurs et systèmes d’exploitation en un seul fichier propre.
### Node.js ### # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* .pnpm-debug.log* # Runtime data pids *.pid *.seed *.pid.lock # Coverage coverage *.lcov .nyc_output # Dependencies node_modules/ jspm_packages/ bower_components # Caches .npm .eslintcache .stylelintcache .cache .parcel-cache *.tsbuildinfo .node_repl_history *.tgz # Yarn .yarn/cache .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz .pnp.* # Environment .env .env.* !.env.example # Build output dist build out ### macOS ### # General .DS_Store .AppleDouble .LSOverride # Custom folder icons (the real file name is "Icon" followed by a carriage return) Icon? # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk ### Windows ### # Windows thumbnail cache files Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db # Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msix *.msm *.msp # Windows shortcuts *.lnk ### Visual Studio Code ### .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json !.vscode/*.code-snippets # Local History for Visual Studio Code .history/ # Built Visual Studio Code Extensions *.vsix
Les navigateurs enregistrent souvent un fichier commençant par un point sous le nom « gitignore.txt » ; renommez-le exactement .gitignore à la racine de votre projet.
Fonctionne entièrement dans votre navigateur. Les modèles sont intégrés à la page ; rien n’est téléchargé ni envoyé. Parcourir tous les outils gratuits.
Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.
Ce générateur de .gitignore construit un fichier .gitignore à partir de modèles pour les langages, frameworks, éditeurs et systèmes d’exploitation de votre projet. Choisissez Node.js, Python, Unity, JetBrains, macOS ou l’un des plus de 60 autres, ou partez d’une stack comme « Application Next.js », et les modèles sont fusionnés en un seul fichier avec un en-tête par section. Les motifs présents dans plusieurs modèles ne sont écrits qu’une fois.
Les modèles sont rédigés à partir de la collection très utilisée github/gitignore, débarrassés des longs blocs de commentaires et intégrés à la page : l’outil fonctionne hors ligne et rien sur votre projet n’est envoyé nulle part. La suppression des doublons se fait avec prudence, car un .gitignore dépend de l’ordre : dès qu’un modèle réinclut quelque chose avec une règle « ! », les doublons suivants sont conservés plutôt que de risquer de changer ce qui est ignoré. Un .gitignore n’affecte que les fichiers non suivis ; consultez la FAQ pour les fichiers que Git suit déjà.
Mode d’emploi
- Cliquez sur une stack prête à l’emploi, ou recherchez des modèles et cochez ceux qu’utilise votre projet : langage, framework, éditeur et système d’exploitation.
- Retirez ceux dont vous n’avez pas besoin avec le × de leur étiquette.
- Ajoutez des règles propres au projet, comme un dossier uploads/, dans « Vos propres règles ».
- Copiez le résultat, ou téléchargez-le et enregistrez-le sous le nom .gitignore à la racine de votre dépôt.
- Commitez-le : git add .gitignore && git commit -m "Add .gitignore".
Questions fréquentes
Pourquoi un fichier est-il toujours suivi après son ajout au .gitignore ?
Un .gitignore empêche seulement l’ajout de fichiers non suivis. Si Git suit déjà le fichier, il continue de le suivre. Retirez-le de l’index sans le supprimer du disque avec git rm --cached chemin/vers/fichier (ou git rm -r --cached dossier/), puis commitez. S’il contenait un secret, celui-ci reste dans votre historique et doit être renouvelé.
Faut-il commiter le fichier .gitignore ?
Oui. Il a sa place dans le dépôt pour que tous ceux qui clonent le projet ignorent les mêmes dossiers de build et de dépendances. Les règles qui ne concernent que vous, comme les fichiers de votre éditeur, peuvent aller dans .git/info/exclude pour un seul dépôt, ou dans un fichier d’exclusion global défini avec git config --global core.excludesFile ~/.gitignore_global.
Faut-il ignorer package-lock.json ou yarn.lock ?
Non : pour les applications, commitez le fichier de verrouillage. Il enregistre les versions exactes des dépendances testées, pour que chaque installation et chaque exécution de CI obtienne la même arborescence. Il en va de même pour poetry.lock, Pipfile.lock, Cargo.lock pour les binaires, Gemfile.lock et composer.lock. Aucun des modèles proposés ici ne les ignore.
Que signifient les motifs ?
Une barre oblique finale (build/) ne correspond qu’à des dossiers. Une barre oblique initiale (/build) ancre le motif au dossier qui contient le .gitignore. * correspond à tout sauf une barre oblique, ** traverse les dossiers (logs/**/*.log) et ? correspond à un caractère. Une ligne commençant par ! réinclut ce qu’un motif précédent avait exclu, et # commence un commentaire, mais seulement en début de ligne.
Pourquoi ma règle de négation (!) ne fonctionne-t-elle pas ?
Git ne peut pas réinclure un fichier si l’un de ses dossiers parents est exclu, car il ne regarde jamais à l’intérieur d’un dossier ignoré. Au lieu d’ignorer le dossier (logs/), ignorez son contenu (logs/*) puis réincluez le fichier (!logs/.gitkeep). L’ordre compte aussi : la ligne ! doit venir après le motif qu’elle annule.
Peut-on vérifier pourquoi un fichier est ignoré ?
Oui : git check-ignore -v chemin/vers/fichier affiche le fichier .gitignore, le numéro de ligne et le motif qui correspond. git status --ignored liste tous les fichiers ignorés du répertoire de travail.
Ce qui a sa place dans un .gitignore
• Les dépendances qu’un gestionnaire de paquets réinstalle : node_modules/, vendor/, .venv/, Pods/.
• Les sorties de build et les caches : dist/, build/, target/, .next/, __pycache__/, *.class, rapports de couverture.
• Les secrets locaux et fichiers d’environnement : .env, *.pem, JSON d’identifiants. Commitez plutôt un .env.example avec des valeurs fictives.
• Le désordre de l’éditeur et du système : .DS_Store, Thumbs.db, .idea/, l’essentiel de .vscode/.
• Journaux, vidages mémoire et bases de données locales : *.log, *.sqlite (sauf si la base est une fixture volontaire).
À garder dans le dépôt : le code source, les fichiers de verrouillage, la configuration dont chaque développeur a besoin et les réglages d’éditeur partagés comme .vscode/extensions.json, que le modèle VS Code réinclut volontairement.
Où Git cherche les règles d’exclusion
Git combine plusieurs sources, de la plus prioritaire à la moins prioritaire : les motifs passés en ligne de commande ; les fichiers .gitignore du dossier du chemin puis de chaque dossier parent jusqu’à la racine du dépôt (un .gitignore dans un sous-dossier ne s’applique qu’en dessous) ; .git/info/exclude, local et jamais commité ; et le fichier global désigné par core.excludesFile, qui vaut par défaut ~/.config/git/ignore. Placez les règles liées au système d’exploitation et à l’éditeur dans le fichier global si vous préférez que les .gitignore des projets ne parlent que du projet.
Outils gratuits similaires
- Calculateur chmod — Cochez lecture, écriture et exécution pour obtenir le mode octal et la commande chmod, ou décodez 755, 644 et rwxr-xr-x.
- Docker Run ⇄ Compose — Transformez une commande docker run en service docker-compose.yml, ou un service Compose en commande docker run.
- Testeur de regex — Testez une expression régulière sur un texte d’exemple avec surlignage des correspondances en direct, groupes de capture et aperçu du remplacement. Gratuit, dans votre navigateur.
- Formateur JSON — Indentez, minifiez et validez du JSON, avec les erreurs d’analyse localisées par ligne et colonne. Dans votre navigateur, sans envoi.