github/gitignore · Rails.gitignore

Penjelasan template .gitignore Ruby on Rails

Menjelaskan mengapa Rails.gitignore mengabaikan log, tmp, storage, SQLite untuk pengembangan, master.key, aset hasil prekompilasi, dan node_modules, serta struktur pola negasi .keep.

Buka di generator Buka bersama Ruby, Node, macOS

Rails.gitignore memblokir file yang muncul saat aplikasi Rails berjalan dan informasi rahasia. Sasaran utamanya adalah data yang menumpuk saat server bekerja, seperti log, file sementara, dan file unggahan, serta hasil yang dibuat pipeline aset.

Pola yang hanya mengecualikan isi folder dan menyisakan file penanda kosong, seperti /log/* dan !/log/.keep, muncul tiga kali. git tidak menyimpan direktori kosong, jadi cara seperti ini diperlukan untuk mempertahankan struktur folder.

Penjelasan per aturan

PolaApa yang diabaikan dan mengapa
/log/*/tmp/*/storage/*!/log/.keep!/tmp/.keep!/storage/.keepFolder log, sementara, dan penyimpananFolder tempat menumpuknya log eksekusi, cache dan file pid, serta unggahan lokal Active Storage. Isinya dikecualikan, tetapi file .keep dihidupkan kembali agar folder tetap ada di repositori. Jika direktorinya sendiri dikecualikan seperti /log/, .keep tidak bisa dihidupkan kembali.
config/master.keyconfig/initializers/secret_token.rb.env.env*.localKunci rahasiaconfig/master.key adalah kunci untuk membuka credentials.yml.enc yang terenkripsi. Jika file ini bocor, semua kredensial ikut terekspos, jadi jangan pernah di-commit. File credentials yang terenkripsi itu sendiri boleh di-commit.
/db/*.sqlite3/db/*.sqlite3-journal/db/*.sqlite3-[0-9]*Basis data pengembanganFile SQLite untuk pengembangan dan pengujian. db/schema.rb dan migrasi di-commit, sedangkan file data dibuat masing-masing.
/public/assets/public/packs/public/packs-test/public/system/public/uploadsAset hasil prekompilasi dan packHasil assets:precompile dan Webpacker, serta file unggahan. Dibuat ulang dalam proses deployment.
/.bundle/vendor/bundlenode_modules//vendor/assets/bower_components/yarn-error.log.yarn-integrityDependensi Bundler dan Nodegem dan paket JavaScript yang muncul lagi saat dipasang, serta log instalasinya.
/coverage//spec/tmpcapybara-*.htmlrerun.txtpickle-email-*.html.rspecProduk sampingan pengujianHasil coverage, halaman yang disimpan Capybara saat gagal, dan daftar eksekusi ulang Cucumber. .rspec diperlakukan sebagai file opsi RSpec pribadi.
.byebug_history.rvmrc.powenv*.rbc*.origPengaturan alat pribadiRiwayat debugger, pengaturan lama RVM dan Pow, serta cadangan file asli yang ditinggalkan alat merge.

Hal yang perlu diperhatikan dalam praktik

Template asli

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

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

Template yang sering dipakai bersama

Penjelasan template lainnya