github/gitignore · Rails.gitignore

Modèle .gitignore Ruby on Rails expliqué

Explique pourquoi Rails.gitignore ignore log·tmp·storage, SQLite de développement, master.key, les assets précompilés et node_modules, ainsi que la structure de motifs de négation .keep.

Ouvrir dans le générateur Ouvrir avec Ruby, Node, macOS

Rails.gitignore bloque les fichiers créés pendant l'exécution d'une application Rails et les informations secrètes. Il cible principalement les données qui s'accumulent quand le serveur tourne — logs, fichiers temporaires, fichiers téléversés — et les résultats produits par le pipeline d'assets.

Le motif qui exclut uniquement le contenu d'un dossier tout en conservant un fichier marqueur vide, comme /log/* et !/log/.keep, apparaît trois fois. git ne stockant pas les répertoires vides, cette technique est nécessaire pour conserver la structure des dossiers.

Explication règle par règle

MotifCe qui est ignoré et pourquoi
/log/*/tmp/*/storage/*!/log/.keep!/tmp/.keep!/storage/.keepDossiers de logs, temporaires et de stockageDossiers où s'accumulent les logs d'exécution, les fichiers de cache et de pid, et les téléversements locaux d'Active Storage. Le contenu est exclu, mais le fichier .keep est réinclus pour que le dossier reste dans le dépôt. Si l'on exclut le répertoire lui-même, comme avec /log/, .keep ne peut plus être réinclus.
config/master.keyconfig/initializers/secret_token.rb.env.env*.localClé secrèteconfig/master.key est la clé qui déchiffre credentials.yml.enc. Si ce fichier fuit, tous les identifiants sont exposés : ne le commitez jamais. Le fichier credentials chiffré lui-même peut être commité.
/db/*.sqlite3/db/*.sqlite3-journal/db/*.sqlite3-[0-9]*Base de données de développementFichiers SQLite de développement et de test. On commite db/schema.rb et les migrations ; chacun crée ses propres fichiers de données.
/public/assets/public/packs/public/packs-test/public/system/public/uploadsAssets précompilés et packsRésultats de assets:precompile et de Webpacker, ainsi que les fichiers téléversés. Ils sont recréés lors du déploiement.
/.bundle/vendor/bundlenode_modules//vendor/assets/bower_components/yarn-error.log.yarn-integrityDépendances Bundler·NodeGems et paquets JavaScript qui réapparaissent à l'installation, et logs d'installation.
/coverage//spec/tmpcapybara-*.htmlrerun.txtpickle-email-*.html.rspecSous-produits de testsRésultats de couverture, pages enregistrées par Capybara en cas d'échec et liste de réexécution de Cucumber. .rspec est traité comme un fichier d'options RSpec personnel.
.byebug_history.rvmrc.powenv*.rbc*.origRéglages d'outils personnelsHistorique du débogueur, anciens réglages RVM·Pow et sauvegardes des originaux laissées par les outils de fusion.

Points d'attention en pratique

Modèle d'origine

Rails.gitignore38 règles
*.rbccapybara-*.html.rspec/db/*.sqlite3/db/*.sqlite3-journal/db/*.sqlite3-[0-9]*/public/system/coverage//spec/tmp*.origrerun.txtpickle-email-*.html# Ignore all logfiles and tempfiles./log/*/tmp/*!/log/.keep!/tmp/.keep# TODO Comment out this rule if you are OK with secrets being uploaded to the repoconfig/initializers/secret_token.rbconfig/master.key# Only include if you have production secrets in this file, which is no longer a Rails default# config/secrets.yml# dotenv, dotenv-rails# TODO Comment out these rules if environment variables can be committed.env.env*.local## Environment normalization:/.bundle/vendor/bundle# these should all be checked in to normalize the environment:# Gemfile.lock, .ruby-version, .ruby-gemset# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:.rvmrc# if using bower-rails ignore default bower_components path bower.json files/vendor/assets/bower_components*.bowerrcbower.json# Ignore pow environment settings.powenv# Ignore Byebug command history file..byebug_history# Ignore node_modulesnode_modules/# Ignore precompiled javascript packs/public/packs/public/packs-test/public/assets# Ignore yarn files/yarn-error.logyarn-debug.log*.yarn-integrity# Ignore uploaded files in development/storage/*!/storage/.keep/public/uploads

Source des modèles : github/gitignore/Rails.gitignore @356fd7b (2026-09-11) · CC0-1.0

Modèles utilisés ensemble

Autres modèles expliqués