मैंने इसी तरह के सवाल ( 1 , 2 और 3 ) देखे हैं , लेकिन मुझे उनसे उचित समाधान नहीं मिला है।
मुझे किसी विशिष्ट फ़ाइल प्रकार को छोड़कर किसी विशेष फ़ोल्डर के तहत सभी फ़ाइलों को अनदेखा करने की आवश्यकता है। रूट रूट के लिए फ़ोल्डर एक उपनिर्देशिका है। मुझे फ़ोल्डर का नाम दें Resources। चूंकि मैं चीजों को जटिल नहीं करना चाहता, इसलिए मुझे Resourcesजहां भी यह नाम दिया गया है, सभी फ़ोल्डरों के तहत फाइलों को अनदेखा करें ।
यह सबसे आम समाधान है (सभी डुप्लिकेट प्रश्नों में)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
इस समाधान के साथ समस्या यह है कि यह नई जोड़ी गई फ़ाइलों को ट्रैक करना बंद कर* देता है (चूंकि सभी फ़ाइलों को अनदेखा करता है)। मैं हर फ़ाइल प्रकार को छोड़कर नहीं रखना चाहता। मैं सामान्य व्यवहार चाहता हूं जहां यदि कोई नई फ़ाइल जोड़ी जाती है, तो git statusवह दिखाता है।
मैं अंत में एक समाधान मिल गया यहाँ । समाधान फ़ोल्डर .gitignoreमें एक और फ़ाइल जोड़ने के लिए है Resources। यह सही ढंग से काम करता है।
क्या मैं एक अनदेखा फ़ाइल के साथ समान प्राप्त कर सकता हूं? मुझे लगता है कि अलग-अलग निर्देशिकाओं में कई अनदेखा फाइलें थोड़ी क्लूनी हैं।
यही मैं हासिल करने की कोशिश कर रहा हूं:
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
लेकिन यह विपरीत आउटपुट देता है। यह *.fooप्रकार को अनदेखा करता है और अन्य फ़ाइलों को ट्रैक करता है।
DirectoryName1/** DirectoryName1/**/*उनमें से प्रत्येक के लिए : किया । एफआईआर निर्देशिकाओं को हटाते हैं लेकिन आपको सभी फ़ाइल प्रकारों को हटाने के लिए दूसरे की आवश्यकता होती है।