मैं msysgit का उपयोग कर रहा हूं और एक प्रोजेक्ट पेड़ है जिसमें पेड़ में कई बिन/फ़ोल्डर्स हैं। प्रोजेक्ट की जड़ में .gitignore फ़ाइल का उपयोग करके मुझे प्रोजेक्ट ट्री में कहीं भी बिन/फ़ोल्डर के भीतर रहने वाली सभी .dll फ़ाइलों को अनदेखा करने की आवश्यकता है। मैंने "bin/*। Dll" की कोशिश की है लेकिन यह काम नहीं करता है, मुझे लगता है कि यह केवल परियोजना के रूट में बिन/फ़ोल्डर के खिलाफ काम कर रहा है।गिट - विशिष्ट फ़ोल्डरों में निहित कुछ फ़ाइलों को अनदेखा करें
उत्तर
अद्यतन अगस्त 2016 (सात साल बाद, Git 2.9.3/Git 2.10)
**/bin/*.dll
कि किसी भी गहराई के लिए काम करता है।
मूल जवाब (2009, Git 1.6)
तुम कोशिश किया:
**/bin/*.dll
यह करता है मेरी msysgit1.6.3 (Git की मूल निर्देशिका में एक .gitignore
फ़ाइल के साथ साथ काम कार्यक्षेत्र)।
वास्तव में ऊपर केवल उपेक्षा होगा 'x/bin/z.dll
', नहीं 'x/y/bin/z.dll
'।
एक और वाक्य रचना हो सकता है:
**/*/bin/*.dll
लेकिन वह केवल गहराई 3 मिलेगा, नहीं गहराई 2!
तो अगर आप भी कई जगह है जहाँ * .dll ध्यान नहीं दिया जा करने की जरूरत है की जरूरत नहीं है, सबसे आसान समाधान अब भी उन 'बिन' निर्देशिका में एक स्थानीय .gitignore फ़ाइल ...
या का एक संग्रह होगा एक .gitignore फ़ाइल में
bin/*.dll
**/bin/*.dll
**/*/bin/*.dll
**/**/*/bin/*.dll
और इतने पर, सब: मुख्य पहले गहराई को कवर करने के निर्देश।
मैं msysgit 1.6.3 का भी उपयोग कर रहा हूं लेकिन पैटर्न **/bin/*। dll काम नहीं करता है। मैंने उस रूट को रूट में मेरे .gitignore में जोड़ा और फिर रूट से "git add --dry-run * .dll" को आजमाया और यह मेरे प्रोजेक्ट ट्री के बिन/फ़ोल्डर्स में निहित मेरी .dll फ़ाइलों को सूचीबद्ध किया। –
मेरे पास मेरी फ़ाइल में /bin
है और ऐसा लगता है कि यह काम करता है। यह पूरे फ़ोल्डर को अनदेखा करता है (इसमें विशिष्ट फाइलों के विपरीत)
यहां अभी तक पूर्ण सामग्री (अभी भी विकसित) हैं।
.svn*
obj/
bin/
*.suo
*.user
Log/
log/
*.db
यह काम करता है। कम से कम मेरे लिए। गिट संस्करण 1.7.2.5 –
हां। अति उत्कृष्ट! मेरे लिए काम करता भी – gpol
*/बिन
मुझे लगता है कि चाहते हैं कि */bin/साथ ही होगा मेरे लिए काम किया।
बस एक ही समस्या थी और एहसास हुआ: फ़ाइलों को पहले ही जोड़ा गया था और गिट में चेक किया गया था।
अंतर को कैसे पहचानें: गिट ने फ़ाइलों को "नया" नहीं दिखाया, बल्कि "संशोधित" के रूप में दिखाया। इस विवरण ने मुझे काफी समय लगाया है ...
यदि यह समस्या है, तो बस इन फ़ाइलों को "git rm" करें और शुरू करें। अचानक, .gitignore उम्मीद के रूप में काम करना शुरू कर देता है।
यह मेरे लिए काम करता है, लेकिन गिट को शामिल करने के लिए मुझे सबसे कमजोर चीज़ है। – BryanGrimes
git rm -f -r/path # फ़ोल्डर को बल और निकालने के लिए। – tgkprog
। विंडोज़ पर गिटिनोरोर, बस काम नहीं कर रहा है। मैं msysgit v 1.7.6 बीटा का उपयोग कर रहा हूं, और यह सिर्फ .gitignor मैन पेज के अनुसार जिस तरह से काम करना चाहिए, काम नहीं करता है। अब, अगर मैं अपनी .gitignore फ़ाइल की सामग्री को $ GIT_DIR/जानकारी/फ़ाइल को छोड़कर, रिपो के अंदर कॉपी करता हूं, तो चीजें काम करती हैं।
तो, बहुत बेकार है कि इस दोहराया नहीं प्राप्त करता है, लेकिन यह कुछ नहीं से बेहतर है।
यह काम किया! मैं खिड़कियों के लिए github का उपयोग कर रहा हूँ –
मैं पुष्टि करते हैं "Git --dry रन * .dll जोड़ें" केवल गैर पर ध्यान नहीं दिया .dll जोड़ें। क्या आप अपनी .gitignore फ़ाइल की सामग्री पोस्ट कर सकते हैं? – VonC
आप सही हैं: '**/bin/*। Dll' केवल 'x/bin/z.dll' (गहराई 2) के लिए काम करता है, न कि 'x/y/bin/z.dll' (गहराई 3)। अब इसमें देख रहे हैं। – VonC
मुझे यकीन नहीं है कि निर्देशिका के गिटिनोरोर पैटर्न समर्थन रिकर्सिव डिटेक्शन ... मैंने अपना जवाब संशोधित किया है। – VonC