शीर्षक ही सब कुछ कह देता है। ऐसे कई मामले हैं जहां आप .gitignore फ़ाइल का समस्या निवारण कर सकते हैं क्योंकि यह अपेक्षा के अनुरूप काम नहीं कर रही है।
Git रिपॉजिटरी में .gitignore फ़ाइल एक महत्वपूर्ण भूमिका निभाती है। यदि आप .gitignore फ़ाइल काम नहीं कर रहे हैं, तो आप गलती से उन परिवर्तनों को ट्रैक कर सकते हैं जिन्हें निजी रखा जाना चाहिए। इनमें से कुछ परिवर्तनों में संवेदनशील जानकारी हो सकती है, जैसे कि एपीआई कुंजियाँ।
एक टूटी हुई .gitignore फ़ाइल के दो कारण हैं:
- किसी फ़ाइल को .gitignore करने के बाद उसमें जोड़ना।
- आपकी .gitignore फ़ाइल में गलत फ़ाइल नाम या पथ का संदर्भ देना।
हम इस ट्यूटोरियल में इन दोनों मुद्दों पर चर्चा करेंगे और उन्हें कैसे हल करेंगे।
.gitignore फ़ाइल क्या है?
.gitignore फ़ाइल में उन सभी फ़ाइलों की एक सूची होती है जिन्हें आप अपने Git रिपॉजिटरी में सहेजना नहीं चाहते हैं। इस फ़ाइल का उपयोग अक्सर कॉन्फ़िगरेशन और पर्यावरण फ़ाइलों को रिपॉजिटरी के बाहर रखने के लिए किया जाता है। इन फ़ाइलों में अक्सर निजी जानकारी होती है और ये किसी दूरस्थ रिपॉजिटरी में नहीं होनी चाहिए।
इस फ़ाइल को नाम दिया जाना चाहिए और स्पष्ट रूप से .gitignore . के रूप में सहेजा जाना चाहिए . इस सादे पाठ फ़ाइल पर, फिर आप उन फ़ाइलों या निर्देशिकाओं के पथ जोड़ेंगे जिन्हें आप चाहते हैं कि Git ट्रैक न करें। इस फ़ाइल में जो कुछ भी जोड़ा जाता है, उसे Git अनदेखा कर देगा और अपने ट्रैकिंग ट्री में नहीं जोड़ेगा।
यहां gitignore फ़ाइल सामग्री का एक उदाहरण दिया गया है:
नोड_मॉड्यूल/.env
इस फ़ाइल पर हम मूल रूप से Git को एक विशिष्ट फ़ाइल को अनदेखा करने के लिए कह रहे हैं। यह .env फ़ाइल है, जिसमें अक्सर API कुंजियाँ होती हैं। हम नोड_मॉड्यूल फ़ोल्डर को भी अनदेखा कर रहे हैं जिसमें सभी स्थापित एनपीएम पैकेज हैं।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
जिन सामान्य फ़ाइलों को अनदेखा किया जाना है उनमें .DS_Store फ़ाइलें, .env फ़ाइलें और कॉन्फ़िग फ़ाइलें शामिल हैं। .DS_Store फ़ाइलें अक्सर macOS ऑपरेटिंग सिस्टम पर पाई जाती हैं और उन्हें Git रिपॉजिटरी का हिस्सा बनने की आवश्यकता नहीं होती है।
अधिकांश .gitignore फाइलें एक रिपॉजिटरी की रूट डायरेक्टरी में रखी जाती हैं। .gitignore फ़ाइलों के बारे में अधिक जानने के लिए, शुरुआती के लिए हमारी .gitignore फ़ाइलें मार्गदर्शिका देखें।
परिदृश्य A:.gitignore में फ़ाइल जोड़ने के बाद उसे जोड़ना
हम शिकायत कर सकते हैं कि gitignore क्यों काम नहीं कर रहा है क्योंकि हमने गलती से एक फाइल कर दी थी जिसे नजरअंदाज कर दिया गया था। इसलिए हम इस तथ्य के बाद इसे gitignore में जोड़ते हैं और शिकायत करते हैं कि Git अभी भी इसे ट्रैक कर रहा है।
खैर इसका कारण यह है कि हमें फाइल / फोल्डर को कमिट करने से पहले जोड़ने की जरूरत है। Git पहले से ही उन्हें ट्रैक कर रहा है, इसलिए उन्हें फिर से अनट्रैक करने के लिए, हमें निम्न कमांड करने की आवश्यकता होगी:
गिट आरएम-आरएफ -- कैश्ड <पथ>पूर्व>पहला भाग git rm
. . को हटाता है –कैश्ड ध्वज निर्दिष्ट करता है कि इसे अनुक्रमणिका से हटा दिया गया है लेकिन स्थानीय निर्देशिका में रहता है। r यदि निर्देशिका पथ दिया गया है और f . तो पुनरावर्ती निष्कासन है इसे मजबूर करता है। अगर आप जस्ट फाइल के साथ काम कर रहे हैं और फिर भी इसे अपने लोकल डू पर रखना चाहते हैं:गिट आरएम --कैश्ड <फ़ाइल>तो इसके साथ आप गिट को इंगित कर रहे हैं कि आप अब प्रदान की गई फ़ाइल/फ़ोल्डर को ट्रैक नहीं करना चाहते हैं। अब पुन:प्रयास करें और आपका gitignore उसी तरह काम करेगा जैसा उसे करना चाहिए . बस याद रखें कि फ़ाइल/फ़ोल्डर को gitignore के काम करने के लिए निर्दिष्ट किया जाना चाहिए!
परिदृश्य B:प्रतिबद्धता से पहले बनाया गया Gitignore और फिर भी फ़ाइल को ट्रैक नहीं कर रहा है
यदि .gitignore अभी भी फ़ाइल को ट्रैक नहीं कर रहा है, तो समाधान उतना ही सरल हो सकता है जितना कि यह जाँचना कि आप सही फ़ाइल का उल्लेख कर रहे हैं। आपको यह निर्दिष्ट करने की आवश्यकता है कि आप किन फ़ाइलों को .gitignore फ़ाइल को अनदेखा करना चाहते हैं। किसी भी वर्तनी त्रुटि या गलत पथ नामों को आपके द्वारा मैन्युअल रूप से ठीक करने की आवश्यकता है।
इस उदाहरण पर विचार करें:
*.pyyc.gitignore फ़ाइल Git को बताती है कि किन फ़ाइलों को अनदेखा करना है, जो इस मामले में सभी .pyyc फ़ाइलें हैं। लेकिन, हमारा इरादा .pyc फाइलों को नजरअंदाज करना है। .pyc फ़ाइलें Python प्रोग्राम के लिए कॉन्फ़िगरेशन फ़ाइलें हैं। हमारी .gitignore फ़ाइल यह नहीं जानती है इसलिए हमें अपना नियम ठीक करने की आवश्यकता है:
*.pycहमारा भंडार अब सभी .pyc फ़ाइलों को अनदेखा कर देगा।
यह भी जांचें कि आपके पास फ़ाइल/फ़ोल्डर घोषणा की शुरुआत या अंत में कोई पिछला स्थान नहीं है।
निष्कर्ष
हमने कुछ परिदृश्यों और विभिन्न मामलों के समाधान की संभावनाओं पर चर्चा की जब gitignore अपेक्षित रूप से काम नहीं कर रहा था। मुख्य उपाय यह है कि आपको यह समझना चाहिए कि फ़ाइलें/निर्देशिकाएँ कहाँ स्थित हैं ताकि आप सही पथ जोड़ सकें।
आपको इस बात से अवगत होना चाहिए कि आपको ऐसी कोई भी फाइल जोड़नी चाहिए जिसे बनाते ही आपको नजरअंदाज करने की जरूरत है। यदि आपने गलती से ऐसा किया है, तो सौभाग्य से हमारे पास git rm -rf –cached
. है। यह कमांड एक फाइल को Git वर्कफ़्लो से बाहर ले जाएगा। फिर, आप gitignore में जोड़ सकते हैं ताकि आपकी फ़ाइल पर ध्यान नहीं दिया जाएगा।अंतिम नोट :ऐसे अन्य मामले भी हो सकते हैं जहां गिट रीसेट उपयोगी हो सकता है। मैंने गिट रीसेट के बारे में एक लेख लिखा था जो इन मामलों में उपयोगी होगा। तो गिट रीसेट पूर्ववत करने जैसा होगा, समय पर वापस जा रहा है, इसलिए कुछ मामलों में आप यही चाहते हैं।
क्या आप गिट के बारे में अधिक जानना चाहते हैं? हमारा गिट गाइड कैसे सीखें पढ़ें। इस गाइड में आपको Git सीखने पर विशेषज्ञ सलाह और शीर्ष शिक्षण संसाधनों पर मार्गदर्शन मिलेगा।