github/gitignore · Rails.gitignore

Ruby-on-Rails-.gitignore-Vorlage erklärt

Erklärt, warum Rails.gitignore log·tmp·storage, die SQLite-Entwicklungsdatenbank, master.key, vorkompilierte Assets und node_modules ignoriert, sowie die Struktur der .keep-Negationsmuster.

Im Generator öffnen Zusammen mit Ruby, Node, macOS öffnen

Rails.gitignore blockiert Dateien, die im laufenden Betrieb einer Rails-Anwendung entstehen, sowie geheime Informationen. Hauptziel sind Daten, die sich beim Serverbetrieb ansammeln – Logs, temporäre Dateien, Uploads – und die Ergebnisse der Asset-Pipeline.

Das Muster, das nur den Inhalt eines Ordners ausschließt und eine leere Markierungsdatei behält, wie /log/* und !/log/.keep, kommt dreimal vor. Da git keine leeren Verzeichnisse speichert, ist diese Technik nötig, um die Ordnerstruktur zu erhalten.

Regeln im Einzelnen

MusterWas ignoriert wird und warum
/log/*/tmp/*/storage/*!/log/.keep!/tmp/.keep!/storage/.keepLog-, Temp- und Storage-OrdnerOrdner, in denen sich Laufzeitlogs, Cache- und pid-Dateien sowie lokale Active-Storage-Uploads ansammeln. Der Inhalt wird ausgeschlossen, die Datei .keep aber wieder aufgenommen, damit der Ordner im Repository bleibt. Schließt man das Verzeichnis selbst aus, etwa mit /log/, lässt sich .keep nicht wieder aufnehmen.
config/master.keyconfig/initializers/secret_token.rb.env.env*.localGeheimer Schlüsselconfig/master.key ist der Schlüssel zum Entschlüsseln von credentials.yml.enc. Gelangt diese Datei nach außen, sind alle Zugangsdaten offengelegt – sie wird niemals committet. Die verschlüsselte credentials-Datei selbst darf committet werden.
/db/*.sqlite3/db/*.sqlite3-journal/db/*.sqlite3-[0-9]*EntwicklungsdatenbankSQLite-Dateien für Entwicklung und Tests. db/schema.rb und die Migrationen werden committet, die Datendateien legt jede Person selbst an.
/public/assets/public/packs/public/packs-test/public/system/public/uploadsVorkompilierte Assets und PacksErgebnisse von assets:precompile und Webpacker sowie hochgeladene Dateien. Sie werden bei der Bereitstellung neu erzeugt.
/.bundle/vendor/bundlenode_modules//vendor/assets/bower_components/yarn-error.log.yarn-integrityBundler- und Node-Abhängigkeitengems und JavaScript-Pakete, die bei der Installation neu entstehen, sowie Installationslogs.
/coverage//spec/tmpcapybara-*.htmlrerun.txtpickle-email-*.html.rspecNebenprodukte von TestsCoverage-Ergebnisse, von Capybara bei Fehlschlägen gespeicherte Seiten und die Wiederholungsliste von Cucumber. .rspec wird als persönliche RSpec-Optionsdatei behandelt.
.byebug_history.rvmrc.powenv*.rbc*.origPersönliche Tool-EinstellungenDebugger-Verlauf, alte RVM- und Pow-Einstellungen und Sicherungen der Originale, die Merge-Werkzeuge hinterlassen.

Hinweise für die Praxis

Originalvorlage

Rails.gitignore38 Regeln
*.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

Vorlagenquelle: github/gitignore/Rails.gitignore @356fd7b (2026-09-11) · CC0-1.0

Häufig kombinierte Vorlagen

Weitere Vorlagenerklärungen