git एक विशिष्ट सबफ़ोल्डर में छोड़कर, एक निश्चित प्रकार की सभी फ़ाइलों को अनदेखा करता है


193

मैं इस तरह एक निर्देशिका संरचना है:

  • जड़
    • फ़ोल्डर 1
      • abc.json
      • def.json
      • somedir
        • more.json
    • folder2
      • qwe.json
      • rty.json
    • कल्पना
      • mock1.json
      • mock2.json
      • somedir
        • more_mocks.json

अब .gitignoreमैं एक का उपयोग करते हुए सभी *.jsonफ़ाइलों को अनदेखा करना चाहता हूं, केवल उन लोगों को छोड़कर spec। मैं एक का उपयोग नहीं करना चाहते हैं .gitignoreमें folder1और folder2क्योंकि वहाँ इनमें से एक टन कर रहे हैं और वे एक बहुत में जोड़ दी जाती है, और मुझे यकीन है कि मैं सही स्थानांतरित करने के लिए नहीं भूल जाएगा हूँ .gitignoreजगह में फ़ाइल।

इसके अलावा json फ़ाइलों के साथ अधिक नेस्टेड निर्देशिकाएं हो सकती हैं, और इस नियम को सभी उपनिर्देशिकाओं पर भी लागू करने की आवश्यकता है।

तो मैं एक निश्चित उपनिर्देशिका को छोड़कर किसी प्रकार की सभी फ़ाइलों को कैसे अनदेखा कर सकता हूं?

जवाबों:


303

एक वैकल्पिक उपसर्ग !जो पैटर्न को नकारता है; पिछले पैटर्न द्वारा बहिष्कृत कोई भी मिलान फ़ाइल फिर से शामिल हो जाएगी। यदि एक नकारात्मक पैटर्न से मेल खाता है, तो यह निम्न पूर्ववर्ती पैटर्न स्रोतों को ओवरराइड करेगा।

http://schacon.github.com/git/gitignore.html

*.json
!spec/*.json

4
यदि आप पसंद करते हैं, तो आप एक .gitignore भी जोड़ सकते हैं! / *। Json, यदि आप चाहें।
डेविड मिशेल

2
धन्यवाद! हालांकि मेरे मामले में, मुझे एहसास हुआ कि मैं अपनी विशेष निर्देशिका में कुछ भी अनदेखा नहीं करना चाहता। इसलिए मैं बहुत ही साधारण से दूर जा पा रहा हूं !spec। एक जादू की तरह काम करता है।
एलेक्स वेन

7
जबकि अंबर का जवाब काम करता है जब कल्पना शीर्ष स्तर (यानी / युक्ति) के तहत एक निर्देशिका होती है, तो यह मेरे लिए काम नहीं करता है जब कल्पना एक उपनिर्देशिका, उदा / / युक्ति या एक / b / कल्पना होती है। Git 1.7.5.4 का उपयोग करना
पीटर लुईस

7
@PeterLewis (भविष्य के आगंतुकों के लिए): प्रासंगिक उपनिर्देशिका में .gitignore फ़ाइल बनाकर इस तरह के मामले को संभाला जा सकता है।
cmbuckley

3
मेरे लिए इस समाधान ने केवल सीधे jsonफाइलों को अनदेखा किया spec, न somedirकि सवाल से उपनिर्देशिका में। मुझे !spec/**/*.jsonयह सुनिश्चित करने के लिए उपयोग करने की आवश्यकता थी कि यह more_mocks.jsonभी प्रतिबद्ध था।
लीथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.