هل هناك طريقة لإعداد. gitignores؟
سؤال
هل هناك طريقة بسيطة لإعداد ملفات .gitignore مختلفة لأجهزة التحكم عن بعد المختلفة؟ لدي مستودع أفعى إلى كل من Heroku و Github. أحتاج إلى قاعدة بيانات. لذلك أنا بحاجة إلى ملف .gitignore مختلف لكل من أجهزة التحكم عن بعد.
حاولت وجود فرعين منفصلين ، أحدهما يتجاهل database.yml ، وهو واحد لا. تكمن المشكلة في أنه عندما أتغلب على فرع Heroku وأعود إلى فرع Github الخاص بي ، يتم اختفاء ملف Database.yml بالكامل.
أي نصائح؟
المحلول
لا أعرف أي شيء عن متطلبات Heroku - نأمل أن تكون العدالة صحيحة ويمكنك ببساطة تجنب المشكلة. إذا لم تتمكن من ذلك ، أو إذا وجد شخص آخر هذا من لا يستطيع ...
إذا كنت تريد أن يكون جهاز التحكم عن بعد المرايا (لهما نفس الالتزامات) ، فيجب أن يكون لهما نفس الملفات في تلك الالتزامات. لذلك ، لديك خياران: لديك file-for-repo-B
في جميع المستودعات ، حتى لو لم تكن بحاجة إليها ، أو استخدموا سير عمل فوضوي قليلاً مع فرعين: master
و for-repo-B
. الفرق الوحيد بين الفرعين سيكون اللمس file-for-repo-B
; ؛ الفرع for-repo-B
سوف تندمج دائما من master
(ولكن أبدا العكس!). الآن لديك فرع مختلف تم فحصه في الريبو B ، وكل شيء جيد.
نصائح أخرى
لا تضع معلومات قاعدة البيانات في Database.yml. بدلاً من ذلك ، استخدم متغيرات بيئة Heroku.
يجب عليك إصدار A:
database.yml
مع المتغيرات فقط في ذلك ، و- نصي قادر على استبدال هذه المتغيرات بالقيم الصحيحة اعتمادًا على الخادم البعيد حيث
database.yml
تم نشره.
ثم تستخدم البرنامج النصي كملف سائق مرشح السمة تلطيخ:
في كل مرة ستتحقق (وإنشاء شجرة عاملة) على خادم بعيد ، يتم تنفيذ البرنامج النصي وسيغير المتغيرات وفقًا لذلك ، مما يمنحك مخصصًا database.yml
ملف.
إذا كان أحد جهاز التحكم عن بُعد لا يحتاج إلى ذلك database.yml
ملف ، لا يزال من الممكن أن يكون هناك ، ولكن يتم إفراغه بواسطة البرنامج النصي.