github/gitignore · Rails.gitignore

شرح قالب .gitignore لـ Ruby on Rails

يشرح سبب تجاهل Rails.gitignore لمجلدات log وtmp وstorage وقاعدة SQLite للتطوير وmaster.key والأصول المترجمة مسبقًا وnode_modules، وبنية أنماط النفي الخاصة بـ .keep.

فتح في المولّد فتح مع Ruby, Node, macOS

يحجب Rails.gitignore الملفات التي تنشأ أثناء تشغيل تطبيق Rails والمعلومات السرية. أهدافه الرئيسية البيانات التي تتراكم أثناء عمل الخادم مثل السجلات والملفات المؤقتة والملفات المرفوعة، والمخرجات التي ينشئها خط معالجة الأصول (asset pipeline).

يتكرر ثلاث مرات نمط يستبعد محتوى المجلد فقط ويُبقي ملف العلامة الفارغ، مثل /log/* و!/log/.keep. لا يحفظ git المجلدات الفارغة، لذا يلزم هذا الأسلوب للحفاظ على بنية المجلدات.

شرح القواعد

النمطما الذي يتجاهله ولماذا
/log/*/tmp/*/storage/*!/log/.keep!/tmp/.keep!/storage/.keepمجلدات السجلات والملفات المؤقتة والتخزينمجلدات تتراكم فيها سجلات التشغيل وملفات الذاكرة المؤقتة وpid والملفات المرفوعة محليًا عبر Active Storage. يُستبعد المحتوى ويُعاد ملف .keep لتبقى المجلدات في المستودع. إذا استُبعد المجلد نفسه مثل /log/ فلا يمكن إعادة .keep.
config/master.keyconfig/initializers/secret_token.rb.env.env*.localالمفاتيح السريةconfig/master.key هو مفتاح فتح الملف المشفّر credentials.yml.enc. إن تسرب هذا الملف انكشفت كل بيانات الاعتماد، لذا لا يُودَع أبدًا. أما ملف credentials المشفّر نفسه فلا بأس بإيداعه.
/db/*.sqlite3/db/*.sqlite3-journal/db/*.sqlite3-[0-9]*قاعدة بيانات التطويرملفات SQLite للتطوير والاختبار. يُودَع db/schema.rb وملفات الترحيل (migrations)، وينشئ كل مطور ملفات البيانات بنفسه.
/public/assets/public/packs/public/packs-test/public/system/public/uploadsالأصول المترجمة مسبقًا والحزمنتائج assets:precompile وWebpacker، والملفات المرفوعة. يُعاد إنشاؤها أثناء النشر.
/.bundle/vendor/bundlenode_modules//vendor/assets/bower_components/yarn-error.log.yarn-integrityاعتماديات Bundler وNodeحزم gem وحزم JavaScript التي تُنشأ من جديد عند التثبيت، وسجلات التثبيت.
/coverage//spec/tmpcapybara-*.htmlrerun.txtpickle-email-*.html.rspecمخلفات الاختباراتنتائج التغطية، والصفحات التي يحفظها Capybara عند الفشل، وقائمة إعادة التشغيل في Cucumber. يُعامل .rspec كملف خيارات RSpec شخصي.
.byebug_history.rvmrc.powenv*.rbc*.origإعدادات الأدوات الشخصيةسجل المصحح، وإعدادات RVM وPow القديمة، والنسخ الأصلية الاحتياطية التي تتركها أدوات الدمج.

ملاحظات عملية

القالب الأصلي

Rails.gitignoreالقواعد: 38 سطرًا
*.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

مصدر القوالب: github/gitignore/Rails.gitignore @356fd7b (2026-09-11) · CC0-1.0

قوالب تُستخدم معه

شروح قوالب أخرى