Git 1.9 / 2.0 (Q1 2014) के लिए Karsten Blees (kblees) से 59856de कमिट करता है:
gitignore.txt
: अपवर्जित निर्देशिकाओं की पुनरावर्ती प्रकृति को स्पष्ट करें
एक वैकल्पिक उपसर्ग " !
" जो पैटर्न को नकारता है; पिछले पैटर्न द्वारा छोड़ी गई कोई भी मिलान फ़ाइल फिर से शामिल हो जाएगी।
यदि किसी फ़ाइल की मूल निर्देशिका को बाहर रखा गया है तो किसी फ़ाइल को फिर से शामिल करना संभव नहीं है। ( *
)
(*
: जब तक कुछ शर्तों को git 2.8+ में पूरा नहीं किया जाता है, नीचे देखें)
Git प्रदर्शन कारणों के लिए बहिष्कृत निर्देशिकाओं की सूची नहीं देता है, इसलिए निहित फ़ाइलों पर किसी भी पैटर्न का कोई प्रभाव नहीं पड़ता है, चाहे वे परिभाषित किए गए हों।
" \
" !
शाब्दिक के साथ शुरू होने वाले पैटर्न के लिए पहले " " के सामने एक बैकस्लैश डालें (" ")!
" से , उदाहरण के लिए, " \!important!.txt
"।
विशिष्ट निर्देशिका को छोड़कर सब कुछ बाहर करने के लिए उदाहरण foo/bar
(ध्यान दें /*
- स्लैश के बिना, वाइल्डकार्ड भी सब कुछ बाहर कर देगा foo/bar
):
--------------------------------------------------------------
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
--------------------------------------------------------------
आपके मामले में:
application/*
!application/**/
application/language/*
!application/language/**/
!application/language/gr/**
आपको श्वेत सूची देनी चाहिए किसी दिए गए फ़ोल्डर के भीतर सफेद-सूची फ़ाइलों को सक्षम करने से पहले, आपको पहले फ़ोल्डर को ।
अद्यतन फरवरी / मार्च 2016:
ध्यान दें कि git 2.9.x / 2.10 (2016 के मध्य में?) के साथ, एक फ़ाइल को फिर से शामिल करना संभव हो सकता है यदि पथ में कोई वाइल्डकार्ड फिर से शामिल न होने पर उस फ़ाइल की मूल निर्देशिका को बाहर कर दिया जाए ।
Nguyuyn Thái Ngọc Duy ( pclouds
) इस सुविधा को जोड़ने का प्रयास कर रहा है:
तो git 2.9+ के साथ, यह वास्तव में काम कर सकता था, लेकिन अंत में वापस आ गया था:
application/
!application/language/gr/
.gitignore
पैटर्न प्रारूप" प्रलेखन अभी स्पष्ट हो गया (दिसंबर 2013)। देखें नीचे मेरा उत्तर