2011-08-10 20 views
11

मेरे पास vim.gitignore, SVN.gitignore और CVS.gitignore (मेरी हार्ड डिस्क पर फैल गया) जैसी कुछ फ़ाइलें हैं।क्या मैं अन्य .gitignore फ़ाइल को .gitignore फ़ाइल में शामिल कर सकता हूं? (जैसे # सी-जैसी भाषाओं में शामिल करें)

क्या मैं इन गिटिनोर फ़ाइलों को .gitignore फ़ाइल में एक नई गिट प्रोजेक्ट में शामिल कर सकता हूं?

संपादित करें: मेरे पास पहले से ही वैश्विक अनदेखा फ़ाइल है।
मैं सिर्फ विभिन्न प्रकार की परियोजनाओं में विभिन्न फाइलों को अनदेखा करना चाहता हूं, क्या यह संभव है?

उत्तर

5

आप किए जा सकेंगे:

    :

    • के साथ एक टेम्पलेट रेपो है
    • उस में उन xxx.gitignore फ़ाइलें:
    • उस में "xxx-gitignore-xxx" के साथ एक .gitignore फ़ाइल (दूसरे शब्दों में, एक सामग्री साथ आप आसानी से
    • एक .gitattribute filter driver
पहचान कर सकते हैं

(प्रत्येक नए रेपो के लिए, आप इसे क्लोन करते हैं और पहले से ही उन फ़ाइलों के साथ शुरू कर सकते हैं।
तो फिर तुम दूरदराज के 'मूल' हटाने या आप के लिए पुश करने के लिए)

enter image description here

अपने रेपो के किसी भी चेकआउट पर चाहते हैं जो कुछ भी दूरस्थ रेपो द्वारा इसे बदलना, फिल्टर ड्राइवर होगा, धब्बा स्क्रिप्ट के माध्यम से:

  • .gitignore फ़ाइल
  • चेक के सामग्री पहचान करता है, तो xxx.gitignore सामग्री पहले से ही वहाँ (एक विशिष्ट की तलाश द्वारा नहीं है स्ट्रिंग केवल उन फ़ाइलों है जो)
  • अगर उनकी सामग्री वहाँ नहीं है, यह उन xxx.gitignore फ़ाइलों की सामग्री
  • यदि सामग्री पहले से ही करने की तारीख, यह .gitignore को संशोधित नहीं होता है संलग्न कर देगा।

ध्यान दें कि एक पहचान योग्य सामग्री होने यहाँ कुंजी है, एक filter driver script doesn't have the name/path of the file it filters के बाद से।

यह थोड़ा सा गड़बड़ है, लेकिन ऐसा लगता है कि "शामिल" सुविधा को लागू करने का एकमात्र तरीका प्रतीत होता है।

+0

धन्यवाद, मुझे आपके जादू को पचाने की जरूरत है ... – HaveF

+0

गुणों का अच्छा उपयोग, इसके बारे में सोचा नहीं होगा, लेकिन इच्छा है कि यह वहां नहीं था। अनावश्यक जटिलता आईएमओ। – manojlds

+0

@manojlds: "अनावश्यक जटिलता"? मैं सहमत हूँ! लेकिन यह एक संभावित कार्यान्वयन है ... – VonC

4

बंद कर देता है आपको मिल जाएगा वैश्विक उपेक्षा फ़ाइल है:

git config --global core.excludesfile ~/.gitignore 

रेपो में एक .gitignore होने की तरह निश्चित रूप से है जो, लेकिन आपके सिस्टम पर सभी रेपोस के लिए लागू (और नहीं बाहरी क्लोन करने के लिए प्रचारित किया।)

+2

धन्यवाद! लेकिन मेरे पास पहले से ही वैश्विक अनदेखा फाइल है। मैं सिर्फ विभिन्न प्रकार की परियोजनाओं में विभिन्न फाइलों को अनदेखा करना चाहता हूं, संभव हो सकता है? – HaveF

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