.gitignore for Rails

Ruby on Rails log files, tmp directory, SQLite database, and uploaded files.

Quick presets

Selected (1)
Rails
Your selections never leave your browser. Generation happens entirely client-side.
Raw

20 patterns · 432 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: Rails
# 2026-04-20

# ---- Rails ----
# Rails
*.rbc
/tmp/
/log/*
!/log/.keep
/storage/*
!/storage/.keep
/public/assets
/public/packs
/public/packs-test
.byebug_history
/db/*.sqlite3
/db/*.sqlite3-journal
/db/*.sqlite3-shm
/db/*.sqlite3-wal
config/master.key
config/credentials/*.key
/config/database.yml
node_modules/
.env*
!.env.example

What this template ignores

Ignores Rails log files, tmp/ directory, SQLite development databases, uploaded storage files, compiled assets, and credentials keys.

Common additions

  • +.bundle/ — bundler config with credentials

Commonly paired with

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Should I commit config/master.key?
Never — master.key decrypts credentials.yml.enc. If you commit it, anyone with repo access can read all your production secrets.
Should I commit config/database.yml?
Commit a database.yml.example without credentials. The actual database.yml with local credentials should be ignored.

Looking for something else? Browse all templates →