2013-07-09 9 views
5

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

packages/ 
!packages/**/*.targets 

लेकिन यह काम नहीं करता है।

मैं उस फ़ोल्डर को कैसे अनदेखा कर सकता हूं लेकिन लक्ष्य फ़ाइलों को नहीं?

उत्तर

0

हम्म। मुझे नहीं लगता कि यह प्रत्यक्ष .gitignore नियमों का उपयोग कर संभव है।

बहरहाल, यह मदद करनी चाहिए:

  • .gitignore:

    packages/ 
    
  • जोड़ने पैटर्न फ़ाइलें:

    git add --force -- $(find packages/ -type f -iname '*.targets') 
    

आप भी वीं बना सकता है ई जब वे प्रकट होते हैं तो यह स्वचालित रूप से नई लक्ष्य फ़ाइलों को लेने के लिए प्री-प्रतिबद्ध हुक में जोड़ें। ** मैचों 0 निर्देशिका

packages/**/*.* 
!packages/**/*.targets 

मैं *.* भाग की जरूरत है, अन्यथा:

ठीक से विशेष वर्ण के साथ फ़ाइल नाम का समर्थन करने के लिए:

find packages/ -type f -iname '*.targets' -exec git add --force -- {} + 
3

यह मेरे लिए काम करने लगता है (Git 1.8.2.1) , और अंत में एक अकेला * संकुल के अंदर किसी भी निर्देशिका से मेल खाएगा, व्यावहारिक रूप से प्रत्येक निर्देशिका को अनदेखा कर देगा, और अंदर की कोई भी फ़ाइल।

मुझे आशा है कि *.* आपके लिए बहुत बुरा नहीं है, लेकिन एक्सटेंशन के बिना फाइलें बहुत असामान्य हैं।

+0

ऐसा लगता है कि केवल एक बिंदु के साथ फाइलों को अनदेखा किया जाता है, इसलिए मेरी कई फाइलें जिनमें एक से अधिक बिंदु शामिल हैं, को अनदेखा नहीं किया जाता है, जैसे: पैकेज/विशेषता Routing.3.5.6/विशेषता Routing.3.5.6.nupkg – Escobar5

+0

अजीब। मैंने अपनी टेस्ट रिपॉजिटरी में उस सटीक निर्देशिका और फ़ाइल नाम को बनाया, और यह सही ढंग से अनदेखा कर दिया। तारांकन को अपने आप बिंदुओं से मेल खाना चाहिए, केवल एक चीज जिसे मैं मजबूर कर रहा हूं, कम से कम एक बिंदु है, लेकिन दो को अनदेखा किया जाना चाहिए। आप किस गीट का उपयोग कर रहे हैं? कौन सा ओएस? (मैं मैक ओएस एक्स 10.8.4 का उपयोग कर रहा हूं) – yonosoytu

+0

यह मेरा संस्करण हो सकता है, मैं विंडोज़ पर 1.7.11 का उपयोग कर रहा हूं, मैं एक नए संस्करण में जांचने जा रहा हूं – Escobar5

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