कैसे एक छिपी रिपॉजिटरी में सभी छिपी निर्देशिकाओं / फ़ाइलों की पुनरावृत्ति को अनदेखा करें?


128

मैं चाहता हूँ कि Git सभी छिपी हुई फ़ाइलों और निर्देशिकाओं को अनदेखा करे। अर्थात

  • .aptitude
  • .ssh/
  • .bash_rc
  • config/.hidden

क्या विशेष रूप से प्रत्येक प्रविष्टि को जोड़े बिना इसे कवर करने का एक सरल नियम है?

जवाबों:


165

बस एक पैटर्न जोड़ें .gitignore

.*
!/.gitignore

संपादित करें:.gitignore फ़ाइल को स्वयं जोड़ा गया है (यदि यह अभी तक प्रारंभ नहीं हुआ है तो मामला)।


3
आप इसके बाद आवश्यक कुछ फ़ाइलों को जोड़ने के लिए बाध्य कर सकते हैं। जैसे। .htaccess फ़ाइल। अपनी आवश्यकताओं के आधार पर।
dakdad

3
@ दक्कड: सुझाव के लिए धन्यवाद। उत्तर को बेहतर बनाया। यदि पो के पास कुछ विशेष फाइलें हैं जैसे कि .htaccessपहले से ही जाँच की गई है तो उनका पालन किया जा रहा है। gitignoreकेवल नई फ़ाइलों के लिए महत्वपूर्ण है।
डैनियल बॉमर

@ डैनियलबोहम शायद इस विषय से बाहर हो रहे हैं, लेकिन क्या यह जहां स्थित है, उसकी परवाह किए बिना केवल अन-अनदेखा करने /.gitignoreऔर हर .gitignoreफ़ाइल के लिए एक कारण है? यानी सूची !.gitignore(स्लैश नहीं) क्यों?
जेसन यंग

1
@JasonYoung दिलचस्प सवाल। खैर, यह पैटर्न केवल फ़ाइल को अन-इग्नोर करता है। मुझे यह अधिक संक्षिप्त लगता है कि उदाहरण के लिए कॉपी और पेस्ट करने के लिए कोई साइड इफेक्ट नहीं है। बेशक, आप .gitignoreअपनी शीर्ष-स्तरीय .gitignoreफ़ाइल की किसी भी फ़ाइल को संभवतः अन-इग्नोर कर सकते हैं । लेकिन वह चुनाव आप पर निर्भर है।
डैनियल बॉमर

64

.ITignore केवल उन फ़ाइलों को प्रभावित करेगा जो पहले से 'जोड़ा' नहीं गया है।

नई .gitignore प्रविष्टियाँ बनाने के लिए सभी फ़ाइलों को प्रभावित करते हैं

  1. .Gitignore में परिवर्तन करें
  2. git commit -a -m "Pre .gitignore changes"
  3. git rm -r --cached .
  4. git add .
  5. git commit -a -m "Post .gitignore changes"
  6. git status आउटपुट "कुछ भी नहीं करने के लिए प्रतिबद्ध (काम निर्देशिका साफ)"

लाइन "पहले से ही 'जोड़ी नहीं गई है" यहाँ कुंजी है, क्योंकि यदि आप पहले से ही किसी दिए गए फ़ाइल को शुरू करते हैं तो अनदेखी उस पर काम नहीं करेगी अब आपको इसे रिपॉजिटरी से हटाना होगा और अगली बार जब आप इसे बनाते हैं। इसे नजरअंदाज करेंगे।
जॉर्जी पीव

21

.git/info/excludeइस लाइन में , जोड़ें:

.*

यह मशीन पर हर रिपॉजिटरी के लिए डिफ़ॉल्ट रूप से सभी छिपी / डॉट फ़ाइलों की अनदेखी कर देगा। .gitignoreहर रेपो के लिए एक अलग फाइल की जरूरत नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.