फिक्स: Gitignore काम नहीं कर रहा है



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

GitHub कोड सहयोग और रिपॉजिटरी साझाकरण के क्षेत्र में एक अग्रणी अग्रणी बनकर उभरा है। GitHub मुख्य रूप से एक संस्करण नियंत्रण सॉफ्टवेयर है जो उपयोगकर्ताओं को वितरित संस्करण नियंत्रण और SCM (स्रोत कोड प्रबंधन) के नियंत्रण की अनुमति देता है। इस मंच का उपयोग दुनिया भर के प्रमुख व्यवसायों और कंपनियों द्वारा किया जाता है।



.gitignore



इस तरह के प्लेटफार्मों में उनकी तकनीकी और मुद्दे हैं। एक विशिष्ट समस्या जो कोडर्स ने अनुभव की थी वह थी .itignore GitHub में काम नहीं कर रहा था। मंच ने या तो .gitignore को नजरअंदाज कर दिया या आंशिक रूप से काम किया। यह ध्यान रखना दिलचस्प है कि समस्या प्रत्येक मामले में थोड़ी भिन्न हो सकती है क्योंकि प्रत्येक मामला पूरी तरह से अलग परिदृश्य है। हालाँकि, जिन समाधानों को हम सूचीबद्ध करते हैं उनमें फ़िक्सेस शामिल होंगे जो सार्वभौमिक रूप से काम करेंगे।



.Ignignore क्या है?

Git (या GitHub) आपकी कार्यशील निर्देशिका की प्रत्येक फ़ाइल को देखता है। यह प्रत्येक फ़ाइल को तीन में से एक के रूप में चिह्नित करता है:

  • ट्रैक: ये फाइलें इतिहास में पहले से या तो प्रतिबद्ध हैं या मंचित हैं।
  • ट्रैक न किए गए: ये वो फाइलें हैं, जिन्हें पहले मंचित या प्रतिबद्ध नहीं किया गया था।
  • अवहेलना करना: ये वे फाइलें हैं, जिन्हें उपयोगकर्ता ने Git को पूरी तरह से अनदेखा करने के लिए कहा था।

इन उपेक्षित फाइलों में परिदृश्य भिन्न हो सकते हैं और ज्यादातर मशीन जनित फाइलें या कलाकृतियां बनती हैं। यह सामान्य अभ्यास है; आप अपनी आवश्यकताओं के अनुसार विभिन्न अन्य फ़ाइलों की अनदेखी कर सकते हैं। इन फ़ाइलों के कुछ उदाहरण हैं:

  • संकलित कोड: ये फाइलें आमतौर पर एक्सटेंशन .class, .pyc, .ccp आदि के साथ होती हैं।
  • छिपी हुई सिस्टम फाइलें: ये ऐसी फाइलें हैं जो सिस्टम द्वारा इसके संचालन के लिए उपयोग की जाती हैं, लेकिन सादे दृश्य से छिपी होती हैं, उदाहरण के लिए, DS_Store या Thumbs.dk, आदि।
  • आउटपुट निर्देशिका बनाएँ: ये ज्यादातर / बिन, / बाहर, आदि की निर्देशिकाओं के होते हैं।
  • निर्भरता कैश: ये फ़ाइलें / नोड या / पैकेज मॉड्यूल की सामग्री हो सकती हैं।
  • आईडीई विन्यास फाइल: ये कॉन्फिग फाइल हैं जो ज्यादातर आपके आईडीई सॉफ्टवेयर द्वारा बनाई या प्रबंधित की जाती हैं।
  • रनटाइम पर उत्पन्न फ़ाइलें: कुछ प्रोग्राम हैं जो रन टाइम पर फाइल बनाते हैं। यदि या तो इस तरह का कोड चलाया जाता है, तो आपके काम करने वाले फोल्डर में कुछ फाइलें उत्पन्न हो सकती हैं और आप उन्हें Git में अनदेखा कर सकते हैं।

जिस भी फाइल को आप अनदेखा करना चाहते हैं, उसे .gitignore नाम की एक विशेष फाइल में ट्रैक किया जाता है, जिसे ज्यादातर आपके काम करने वाले रिपॉजिटरी के रूट में चेक किया जाता है। इस विषय पर GitHub के आधिकारिक दस्तावेज के अनुसार, कोई विशिष्ट gitignore कमांड नहीं है। इसके बजाय, आपको मैन्युअल रूप से उस फ़ाइल को संपादित करना होगा जिसे आप अनदेखा करना चाहते हैं। । Theignignore फ़ाइल में ऐसे पैटर्न होते हैं जो आपके काम करने वाले भंडार में फ़ाइल नामों के साथ मेल खाते हैं और इनका उपयोग यह निर्धारित करने में मदद करने के लिए किया जाता है कि किसी विशिष्ट फ़ाइल को अनदेखा किया जाना चाहिए या नहीं।



क्या कारण है।

.Itignore सुविधा पूरी तरह से काम कर रही हो सकती है लेकिन आपने इसे ठीक से कॉन्फ़िगर नहीं किया होगा। हमारे सभी सर्वेक्षणों में, हम इस निष्कर्ष पर पहुंचे कि मॉड्यूल वास्तव में काम कर रहा था। कोडर्स फ़ीचर का उपयोग करने में असमर्थ हैं इसका कारण यह है कि वे फ़ाइल को ठीक से कॉन्फ़िगर नहीं करते हैं या कुछ स्थितियां हैं जो अंतर्निहित कोड में पूरी नहीं हो रही हैं।

यहां कुछ उपाय दिए गए हैं जो आपके काम आ सकते हैं। प्रत्येक समाधान आपके मामले में लागू नहीं हो सकता है इसलिए सुनिश्चित करें कि यदि आप प्रारंभिक शर्तों को पूरा नहीं कर रहे हैं तो आप अगले एक पर स्विच करते हैं।

समाधान 1: चेक .gitignore फ़ाइल

एक दिलचस्प मामला सामने आया जहां हमने देखा कि .ignignore फ़ाइल गलत प्रारूप में बनाई गई थी। यह विशेष रूप से समस्या तब हुई जब उपयोगकर्ताओं ने विंडोज ओएस में नोटपैड के डिफ़ॉल्ट एप्लिकेशन का उपयोग करके फ़ाइल बनाई। यह पता चला कि नोटपैड ANSI प्रारूप के बजाय यूनिकोड में फ़ाइल लिखता है। इस समाधान में, हम .itignore के सही प्रारूप में नोटपैड के परिवर्तनों को सहेजेंगे और देखेंगे कि क्या यह समस्या को ठीक करता है।

ध्यान दें: नोटपैड का उपयोग करके एक नई फ़ाइल बनाते समय आपको फ़ाइल से .txt का एक्सटेंशन हटाना पड़ता है।

  1. नोटपैड में एक नया पाठ दस्तावेज़ में कोड या परिवर्तन लिखने के बाद, पर क्लिक करें फ़ाइल और चुनें के रूप रक्षित करें

इस रूप में सहेजें - नोटपैड

  1. अब सामने है एन्कोडिंग , चुनते हैं एएनएसआई । अब .txt का फ़ाइल एक्सटेंशन निकालें और फ़ाइल को extension नाम से सहेजें .gitignore '। सही निर्देशिका का चयन करें और सहेजें।

ANSI को एन्कोडिंग प्रकार के रूप में चुनना

  1. अब डायरेक्टरी में नेविगेट करें और जांच करें कि क्या सही फ़ाइल बनाई गई है। अब इसे फिर से Git से टेस्ट करें और देखें कि इग्नोर फीचर उम्मीद के मुताबिक काम कर रहा है या नहीं।

डेवलपर्स को विंडोज में डिफ़ॉल्ट नोटपैड का उपयोग करने से बचना चाहिए। इसके बजाय, आपको उचित ’प्रोग्रामर के नोटपैड का उपयोग करना चाहिए। कुछ उदाहरणों में शामिल हैं Notepad ++ आदि उन में, आप इन मुद्दों की तरह नहीं होगा।

ध्यान दें: यदि आपकी फ़ाइल पहले से ही UNICODE प्रारूप में सहेजी गई है, तो यदि आप चाहते हैं कि आपकी फ़ाइल Git द्वारा ठीक से खोजी जाए, तो आपको ANSI प्रारूप में सामग्री को ठीक से सहेजना चाहिए।

समाधान 2: उस फ़ाइल की जाँच करना जिसे आप अनदेखा करना चाह रहे हैं

एक और शर्त जिस पर .itignore काम करता है वह यह है कि आपकी फ़ाइल नहीं होनी चाहिए रिपॉजिटरी का हिस्सा अभी तक । यह एक बहुत ही आवश्यक पहलू है जैसे कि यह सच है, फ़ाइल को अनदेखा नहीं किया जाएगा जैसा कि यह है पहले से ही जोड़ा रिपॉजिटरी को। Git नजरअंदाज नहीं कर सकता, भले ही आप उसका नाम या नियम .gitignore फ़ाइल में रखें। इसलिए संक्षेप में, Git केवल उपेक्षा करता है अनट्रैक फ़ाइलें

आपको अपनी संरचना (रिपॉजिटरी) को देखना चाहिए और यह सुनिश्चित करना चाहिए कि जिस फ़ाइल को आप वर्तमान में अनदेखा करना चाह रहे हैं उसे रिपॉजिटरी में नहीं जोड़ा गया है। यदि यह है, तो आपको फ़ाइल को रिपॉजिटरी से हटाना होगा और नवीनतम बदलाव किए जाने के बाद, इसका नाम .itignore में जोड़ें (आप फ़ाइल की सामग्री की प्रतिलिपि भी बना सकते हैं और इसे हटाने के बाद, इसे एक अलग नाम से दोहरा सकते हैं) ।

समाधान 3: रिपोजिटरी में फ़ाइलों को फिर से जोड़ना

यदि आपने पहले ही नियमों को .gitignore में जोड़ दिया है, लेकिन जिन फ़ाइलों को आप अनदेखा करना चाहते हैं, वे पहले से ही जोड़े गए हैं, हम फ़ाइलों को फिर से जोड़ सकते हैं। जोड़ने का अर्थ है कि हम सब कुछ Git के सूचकांक से हटा देंगे और फिर से अपने भंडार में वापस सब कुछ जोड़ देंगे। जब हम स्क्रैच से फिर से फाइलें जोड़ते हैं, तो नियमों को ध्यान में रखा जाएगा जो आपने .gitignore में जोड़ा है और केवल सही फाइलें जोड़ी गई हैं।

ध्यान दें: आपको इस समाधान को करने से पहले अपना कोड कहीं और वापस करना चाहिए। हमेशा के मामले में बैकअप लेना हमेशा अच्छा होता है।

  1. निम्न आदेश निष्पादित करें। यह आपके फ़ाइलों को पुनरावर्ती तरीके से git अनुक्रमणिका से हटाएगा।
git rm -r - कैश किया गया।
  1. इसके निष्पादित होने के बाद, आपको निम्नलिखित कमांड निष्पादित करनी चाहिए। यह आपकी सभी फाइलों को वापस जोड़ देगा और चूंकि .ignignore में नियम होंगे, केवल सही फाइलें ही अपडेट की जाएंगी।
जोड़ देना।
  1. अब हम आपकी सभी फ़ाइलों को नीचे दिए गए कोड का उपयोग करके सूचकांक में वापस करेंगे:
git प्रतिबद्ध -m '.itignignore अब काम कर रहा है'

अब अपनी फ़ाइलों का निरीक्षण करें और देखें कि क्या समस्या हल हो गई है और आप बिना किसी समस्या के पुन: .ignignore का उपयोग कर सकते हैं।

4 मिनट पढ़ा