binऔर bin/केवल इसमें भिन्नता है कि उत्तरार्द्ध केवल एक निर्देशिका से मेल खाएगा।
bin/**/*के रूप में ही है bin/**(जाहिरा तौर पर 1.8.2 के बाद से, @ VonC के जवाब के अनुसार)।
मुश्किल एक, कि मैं सिर्फ एक घंटे बिताता हूं या अपने बालों को बाहर रगड़ता हूं, यह वही है bin/और काफी समान bin/**नहीं हैं ! चूंकि पहले पूरी तरह से निर्देशिका को अनदेखा करता है, और बाद वाला इसके भीतर की प्रत्येक फ़ाइल को अनदेखा करता है, और लगभग सभी मामलों में गिट निर्देशिकाओं के बारे में परवाह नहीं करता है, आमतौर पर कोई अंतर नहीं होता है। हालाँकि, यदि आप एक सबपथ को अनदेखा करने के लिए उपयोग करने का प्रयास करते हैं , तो आप पाएंगे कि गिट (अहम) ने इसे अनदेखा कर दिया यदि आपने मूल निर्देशिका को अनदेखा कर दिया! (फिर, निर्देशिका सामग्री के बजाय)!
यह उदाहरण द्वारा स्पष्ट है, इसलिए एक नए इनिट-एड रिपॉजिटरी के लिए सेट किया गया है:
$ cat .gitignore
ignored-file
or-dir
dir-only/
!dir-only/cant-reinclude
dir-contents/**
!dir-contents/can-reinclude
$ mkdir or-dir dir-only dir-contents
$ touch file ignored-file or-dir/ignored-file dir-only/cant-reinclude dir-contents/can-reinclude
निम्न अनुपलब्ध फ़ाइलें मौजूद हैं:
$ git ls-files --other
.gitignore
dir-contents/can-reinclude
dir-only/cant-reinclude
file
ignored-file
or-dir/ignored-file
लेकिन आप देख सकते हैं कि निम्नलिखित फ़ाइलों को अनदेखा नहीं किया गया है:
$ git ls-files --other --exclude-standard
.gitignore
dir-contents/can-reinclude
file
और यदि आप जोड़ने की कोशिश करते हैं, तो आपको मिलता है:
$ git add dir-only/cant-reinclude
The following paths are ignored by one of your .gitignore files:
dir-only/cant-reinclude
Use -f if you really want to add them.
fatal: no files added
मैं इस व्यवहार को बग मानता हूं। (यह सब चालू है git version 1.8.4.msysgit.0)