2011-10-30 19 views
16

मैं संबंधित निर्देशिका से निर्देशिका में फ़ाइल को अनदेखा करने का प्रयास करता हूं। जैसे मेरे पास पेड़ lib/file.f काम करने में कई निर्देशिकाएं हैं और मैं चाहता हूं कि इस फ़ाइल की सभी घटनाओं को अनदेखा किया जाए। मैंनेगिट कई मिलान करने वाली फाइलों को अनदेखा करता है

lib/file.f 

लेकिन यह काम नहीं करता है।

उत्तर

21

प्लेस

*/lib/file.f 
अपने .gitignore में

। यह project/<DIR>/lib/file.f प्रपत्र project निर्देशिका में मानते हुए, project/<DIR>/lib/file.f के किसी भी फ़ाइल को अनदेखा करने का कारण बन जाएगा। Git lib/file.f दो निर्देशिका नीचे की अनदेखी करने के लिए, आप भी

*/*/lib/file.f 
.gitignore को

, और इतने पर जोड़ने के लिए होगा।

बेहद निश्चित रूप से सरल, file.f नामित सभी फाइलों को ब्लॉक करने के लिए .gitignore में

*file.f 

जगह होगी, लेकिन आपके सवाल का सुझाव देने के लिए कम से कम एक फ़ाइल है कि नाम पर ध्यान नहीं देना नहीं चाहते हैं द्वारा नहीं है लगता है।

+2

मैं काम नहीं करता है 'file.f' पाते हैं। हालांकि, 'file.f' करता है। – Holf

+0

@ हॉल्फ 'file.f' काम नहीं करता है, क्योंकि आप पथ के बिना फ़ाइल को संदर्भित करते हैं (और आपके पास आपके प्रोजेक्ट के रूट फ़ोल्डर में' file.f' नहीं है)। यही कारण है कि _unutbu_ के उत्तर में पूर्ण पथ वाले सभी उदाहरण हैं। '* File.f' काम करता है, क्योंकि आपने' * 'वाइल्डकार्ड का उपयोग किया था और इस प्रकार यह _any file_ को अनदेखा कर देगा, जो आपके पैटर्न से मेल खाता है - क्या वास्तव में, आप क्या हासिल करना चाहते हैं? – trejder

5
भी

आप की जाँच करने के क्या तुम सिर्फ नजरअंदाज कर दिया Git कैश से फ़ाइल को हटाने के लिए, क्रम में चाहते हो सकता है:

git rm --cached lib/file.f 

इस है अगर आप पहले से ही सूचकांक git करने के लिए

0

यदि आप चाहते हैं फ़ाइल जोड़ी विशिष्ट फ़ोल्डर उपयोग /**/ के तहत सभी उप फ़ोल्डरों को निर्दिष्ट करने के लिए। एक /src/main/ फ़ोल्डर और उप-फ़ोल्डर में सभी file.f फ़ाइलों को अनदेखा करने का उपयोग करें:

/src/main/**/file.f 
संबंधित मुद्दे