2015-05-27 4 views
6

मेरे पास एक स्थिर/नामक निर्देशिका है। इसमें बहुत सारी उपनिर्देशिकाएं हैं। मुझे .htaccess, null.jpg और index.php फ़ाइलों को छोड़कर/स्थिर/निर्देशिका की सभी उप-निर्देशिकाओं में सभी फ़ाइलों को अनदेखा करने की आवश्यकता है। मुझे बताएं कृपया इस ऑपरेशन के लिए सही वाक्यविन्यास क्या है?गिटिग्नोर सभी उपनिर्देशिकाओं में कुछ फ़ाइलों को बाहर रखता है

/static/** 
!/static/**/.htaccess 

और

/static/* 
!/static/*/.htaccess 

काम नहीं करते।

+0

मुझे लगता है कि आपको पहले निर्देशिकाओं को श्वेतसूची में रखना चाहिए। क्या आपके पहले दृष्टिकोण में '/ static/** /' दूसरी पंक्ति के रूप में काम करता है? –

उत्तर

6

मैं "Including specific file extension in gitignore" में उल्लेख किया है, याद करने के लिए मुख्य नियम है:

It is not possible to re-include a file if a parent directory of that file is excluded. (*)
(*: जब तक कुछ शर्तों Git 2.?+ में मुलाकात कर रहे हैं, नीचे देखें)

यही कारण है कि कोई नियम जो फ़ोल्डर्स को अनदेखा करता है (जैसे * या */) किसी भी उप-फाइल को असंभव बना देता है।

है यही कारण है कि सही दृष्टिकोण के अलावा सब कुछ बाहर करने के लिए है:

  • फोल्डर,
  • (तो) फ़ाइलें आप छोड़ना चाहते हैं।

    /static/**/** 
    !/static/**/ 
    !.gitignore 
    !.htaccess 
    

    यह परीक्षण किया जाता है

आप पहली बार फ़ोल्डर बाहर नहीं है, तो अपने फ़ाइलों को अभी भी

तो अपनी .gitignore जोड़ने (नियम मैं ऊपर उल्लेख की वजह से) नजरअंदाज कर दिया जाएगा गिट 2.4.1 के साथ और विंडोज़ पर भी काम करता है। अगर उस फ़ाइल की एक मूल निर्देशिका if there is no wildcard in the path re-included बाहर रखा गया है


ध्यान दें कि Git 2.9.x/साथ 2.10 (मध्य 2016?), यह करने के लिए संभव हो सकता है एक फ़ाइल को पुन: शामिल हैं।

  • commit 5e57f9c Git v2.8.0-RC0, ... को वापस लाया गया (

    हालांकि, बाद की स्थिति से एक था "में निर्देशिका हिस्सा फिर से शामिल नियमों शाब्दिक होना चाहिए (यानी कोई वाइल्डकार्ड)", आप उस सुविधा यहाँ वैसे भी उपयोग नहीं कर सकते।

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