जवाबों:
आम तौर पर हाँ, .gitignore
उन सभी के लिए उपयोगी है जो भंडार के साथ काम करना चाहते हैं। इस अवसर पर आप और अधिक निजी चीज़ों को अनदेखा करना चाहेंगे (हो सकता है कि आप अक्सर बनाते हैं LOG
या कुछ और करते हैं। उन मामलों में आप शायद किसी और पर मजबूर नहीं करना चाहते हैं।
$GIT_DIR/info/exclude
या ~/.gitconfig
फाइलों में उचित रूप में किया जा सकता है।
git rm --cached FILENAME
आप आमतौर पर कमिट करते हैं .gitignore
। वास्तव में, मैं व्यक्तिगत रूप से यह सुनिश्चित करता हूं कि जब मैं किसी चीज पर काम नहीं कर रहा हूं तो मेरा सूचकांक हमेशा साफ रहे। (git status
कुछ नहीं दिखाना चाहिए।)
ऐसे मामले हैं जहां आप सामान को अनदेखा करना चाहते हैं जो वास्तव में विशिष्ट नहीं है। उदाहरण के लिए, आपका पाठ संपादक स्वचालित *~
बैकअप फ़ाइलें बना सकता है , या कोई अन्य उदाहरण होगा.DS_Store
OS X द्वारा बनाई गई फ़ाइलें
मैं कहूंगा, यदि अन्य उन नियमों के बारे में शिकायत कर रहे हैं जो आपके नियम को अव्यवस्थित कर रहे हैं .gitignore
, तो उन्हें छोड़ दें और इसके बजाय उन्हें एक वैश्विक बहिष्कृत फ़ाइल में डाल दें।
डिफ़ॉल्ट रूप से यह फ़ाइल अंदर रहती है $XDG_CONFIG_HOME/git/ignore
(डिफॉल्ट्स ~/.config/git/ignore
) , लेकिन core.excludesfile
विकल्प सेट करके इस स्थान को बदला जा सकता है। उदाहरण के लिए:
git config --global core.excludesfile ~/.gitignore
बस अपने दिल की सामग्री के लिए वैश्विक बहिष्करण बनाएं और संपादित करें; यह उस मशीन पर आपके द्वारा काम करने वाले हर गिट रिपॉजिटरी पर लागू होगा।
# some comment
लिए .gitignore
फ़ाइल में रेखाएँ जोड़ सकते हैं कि आप कुछ क्यों अनदेखा कर रहे हैं। हर पंक्ति टिप्पणी करते overkill का एक सा है, लेकिन मैं वर्गों करार दिया है है # IDE (Eclipse)
, # OS (Mac OS X)
, और # Generated (Perl)
। इस तरह अगर कोई अलग ओएस या आईडीई का उपयोग करना चाहता है तो वे एक अनुभाग जोड़ सकते हैं और हम सभी साझा कर सकते हैं।
core.excludesfile
है ~/.config/git/ignore
, XDG बेस डायरेक्टरी स्पेसिफिकेशन के अनुरूप है
.gitignore
- बेहद फायदेमंद जब आप जिन लोगों के साथ धक्का दिए गए .gitignore
फ़ाइलों की सामग्री के बारे में असहमत हैं या उन्हें धक्का दिया जाना चाहिए, और हम सभी विभिन्न प्रकार के शोर पैदा करने वाले विभिन्न देव वातावरणों का उपयोग करते हैं।
मैंने कमिट .ignignore डाला, जो अन्य के लिए एक शिष्टाचार है जो मेरी परियोजना का निर्माण कर सकता है कि निम्नलिखित फाइलें प्राप्त की गई हैं और इसे अनदेखा किया जाना चाहिए।
मैं आमतौर पर एक हाइब्रिड करता हूं। मैं मेकफाइल बनाना पसंद करता हूं।। Theignignore फाइल बनाना, क्योंकि मेकफाइल प्रोजेक्ट से जुड़ी सभी फाइलों को जान लेगा या अन्यथा। फिर आपके पास एक शीर्ष स्तर की परियोजना है। जिसे आप चेक-इन करते हैं, जो विभिन्न उप निर्देशिकाओं के लिए मेकफाइल द्वारा बनाई गई .gitignore फ़ाइलों को अनदेखा करेगा।
इसलिए मेरी परियोजना में, मेरे पास सभी निर्मित निष्पादकों के साथ एक बिन उप निर्देशिका हो सकती है। फिर, मैं अपने बिन फ़ाइल निर्देशिका के लिए एक .itignore उत्पन्न करूँगा। और शीर्ष निर्देशिका .gitignore में जो बिन / .ITignore को सूचीबद्ध करता है। सबसे ऊपर जो मैं चेक कर रहा हूं।
कमिट करना .itignore बहुत उपयोगी हो सकता है, लेकिन आप यह सुनिश्चित करना चाहते हैं कि आप इसे बहुत अधिक संशोधित न करें, खासकर यदि आप नियमित रूप से शाखाओं के बीच स्विच करते हैं। यदि आप ऐसे मामले प्राप्त कर सकते हैं, जहां फ़ाइलों को एक शाखा में अनदेखा किया जाता है और दूसरे में नहीं, तो आप अपने कार्य निर्देशिका में फ़ाइलों को मैन्युअल रूप से हटाने या नाम बदलने के लिए मजबूर करें क्योंकि एक चेकआउट विफल हो गया क्योंकि यह एक गैर-ट्रैक की गई फ़ाइल को अधिलेखित कर देगा।
इसलिए हां, अपने .gitignore को कमिट करें, लेकिन इससे पहले कि आप निश्चित रूप से यह सुनिश्चित कर लें कि यह उसके बाद नहीं बदलेगा।
.gitignore
कम से कम अपने बिल्ड उत्पादों (प्रोग्राम, * .o, आदि) के लिए यह एक अच्छा अभ्यास है ।
.gitignore
खुद " .gitignore
डी" होना चाहिए ?