2010-03-16 39 views
23

क्या विभिन्न रिमोट्स के लिए अलग-अलग .gitignore फ़ाइलों को सेट करने का कोई आसान तरीका है? मेरे पास एक रिपोजिटरी है जो मैं हेरोोकू और गिथूब दोनों को दबाता हूं। मुझे Heroku के लिए डेटाबेस.मिल की जरूरत है, लेकिन कुछ जानकारी जीथूब को धक्का नहीं देनी चाहिए। तो मुझे प्रत्येक रिमोट के लिए एक अलग .gitignore फ़ाइल की आवश्यकता है।क्या रिमोट-विशिष्ट .gitignores सेट करने का कोई तरीका है?

मैंने दो अलग-अलग शाखाएं करने की कोशिश की, जो डेटाबेस.इमएल को अनदेखा करता है, और जो ऐसा नहीं करता है। समस्या यह है कि जब मैं उसकीोकू शाखा की जांच करता हूं और अपनी जिथब शाखा में वापस जाता हूं, तो संपूर्ण डेटाबेस.आईएमएल फ़ाइल चली जाती है।

कोई सुझाव?

+0

फंकीमंकी, क्या आपको अपनी समस्या का अच्छा समाधान मिला? –

उत्तर

5

मुझे हेरोकू की आवश्यकताओं के बारे में कुछ भी नहीं पता - उम्मीद है कि न्याय सही है और आप बस समस्या से बच सकते हैं। यदि आप नहीं कर सकते हैं, या अगर किसी और को यह पता चलता है जो ...

यदि आप चाहते हैं कि दो रिमोट मिरर हों (समान कार्य करें), तो उन्हें परिभाषा के अनुसार उन फ़ाइलों में एक ही फाइल होनी चाहिए । तो, आपके पास दो विकल्प हैं: file-for-repo-B सभी रिपॉजिटरीज़ में हैं, भले ही उन्हें इसकी आवश्यकता न हो, या दो शाखाओं के साथ थोड़ा गन्दा वर्कफ़्लो का उपयोग करें: master और for-repo-B। दोनों शाखाओं के बीच एकमात्र अंतर file-for-repo-B को छूने वाला होगा; शाखा for-repo-B हमेशा master से विलय करेगी (लेकिन कभी दूसरी तरफ नहीं!)। अब आपके पास रिपो बी में एक अलग शाखा है, और सब अच्छा है।

10

डेटाबेस.आईएमएल में डेटाबेस जानकारी न डालें। इसके बजाय, Heroku पर्यावरण चर का उपयोग करें।

+0

यह नियम किसी भी अन्य उत्पादन पर्यावरण पर लागू होता है, न कि केवल उसकेोकू। –

1

आप एक versionned चाहिए:

  • उस में केवल चर के साथ database.yml, और
  • एक स्क्रिप्ट जहां कि database.yml तैनात है दूरस्थ सर्वर के आधार पर सही मूल्यों से वे चर को बदलने के लिए सक्षम।

तो फिर तुम एक smudge attribute filter driver के रूप में स्क्रिप्ट का उपयोग:

smudge content filter

हर बार जब आप चेकआउट (और एक काम कर पेड़ बनाने) एक दूरस्थ सर्वर पर, स्क्रिप्ट के निष्पादित होने और बदल जाएगा तदनुसार चर, आपको एक कस्टम database.yml फ़ाइल दे रहा है।
यदि किसी रिमोट में database.yml फ़ाइल की आवश्यकता नहीं है, तो यह अभी भी वहां हो सकता है, लेकिन धुंधली स्क्रिप्ट द्वारा खाली किया गया है।

संबंधित मुद्दे