यदि आप अपनी स्थानीय मशीन में फ़ाइलें जोड़ते हैं, तो उन फ़ाइलों को रिपॉजिटरी में जोड़े बिना रिपॉजिटरी की एक दूरस्थ प्रतिलिपि खींचने का प्रयास करें, आपको "कुछ भी नहीं जोड़ा गया है लेकिन अनट्रैक की गई फ़ाइलें मौजूद हैं" Git त्रुटि।
यह मार्गदर्शिका चर्चा करती है कि इस त्रुटि का क्या अर्थ है। हम इस समस्या के दो संभावित समाधानों और उनके लाभों और कमियों के बारे में जानेंगे।
प्रतिबद्ध करने के लिए कुछ भी नहीं जोड़ा गया लेकिन ट्रैक न की गई फ़ाइलें मौजूद हैं
गिट एक वितरित संस्करण नियंत्रण प्रणाली है। इसका मतलब है कि आप एक रिपॉजिटरी की एक स्थानीय कॉपी बना सकते हैं और उस रिपॉजिटरी में अपने खुद के बदलाव कर सकते हैं। ये परिवर्तन मुख्य प्रोजेक्ट में तब तक प्रतिबिंबित नहीं होते जब तक आप उन्हें प्रतिबद्ध नहीं करते।
जब आप किसी दूरस्थ सर्वर से कोड खींचते हैं, तो सुनिश्चित करें कि आपकी स्थानीय मशीन की सभी फ़ाइलें Git स्टेजिंग क्षेत्र का हिस्सा हैं, या किसी कमिट का हिस्सा हैं। ऐसा इसलिए है क्योंकि गिट को यह जानने की जरूरत है कि कौन सी फाइलें एक भंडार का हिस्सा हैं।
एक रिपॉजिटरी पर एक गिट पुल कमांड निष्पादित करना जहां आपने हर फाइल को स्टेजिंग क्षेत्र में नहीं जोड़ा है या एक कमिट के परिणामस्वरूप निम्न त्रुटि होगी:
प्रतिबद्ध करने के लिए कुछ भी नहीं जोड़ा गया लेकिन ट्रैक न की गई फ़ाइलें मौजूद हैं
अनट्रैक की गई फ़ाइलें:एक प्राइमर
ट्रैक न की गई फाइलें एक प्रोजेक्ट के अंदर की फाइलें हैं जिन्हें Git के साथ कॉन्फ़िगर किया गया है, लेकिन Git रिपॉजिटरी का हिस्सा नहीं बनी हैं।
फ़ाइलें केवल Git रिपॉजिटरी का हिस्सा बन जाती हैं यदि आप उन्हें "git ऐड" कमांड का उपयोग करके जोड़ते हैं। यह आपको अपनी स्थानीय मशीन में उन फ़ाइलों को बनाने और संशोधित करने देता है जिन्हें भंडार में विकास की एक पंक्ति का हिस्सा बनने की आवश्यकता नहीं है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
ट्रैक न की गई फ़ाइलों को या तो किसी प्रोजेक्ट में जोड़ा जाना चाहिए, या .gitignore फ़ाइल में एक नियम का उपयोग करके अनदेखा किया जाना चाहिए।
समाधान
इस त्रुटि के दो संभावित समाधान हैं।
पहला उपाय यह है कि सभी अनट्रैक की गई फाइलों को Git रिपॉजिटरी में जोड़ा जाए। इसे git ऐड कमांड का उपयोग करके करें:
git add file_to_add.md
यह फ़ाइल को स्टेजिंग क्षेत्र में ले जाएगा। जब आप स्टेजिंग क्षेत्र में कोई फ़ाइल जोड़ते हैं, तो वह ट्रैक हो जाती है। ऐसा इसलिए है क्योंकि स्टेजिंग क्षेत्र की सभी फाइलें आपके द्वारा बनाई गई अगली प्रतिबद्धता में जोड़ दी जाती हैं, जब तक कि उन्हें हटा नहीं दिया जाता। गिट को इन फ़ाइलों को एक प्रतिबद्धता में जोड़ने के लिए जानने के लिए ट्रैक करने की आवश्यकता है।
दूसरा विकल्प उन फ़ाइलों को अनदेखा करना है जिन्हें आपने अपने भंडार में जोड़ा है। यह विकल्प सबसे अच्छा लिया जाता है यदि आप नहीं चाहते कि आपके द्वारा बनाई गई फ़ाइलें गिट रिपॉजिटरी का हिस्सा बनें। यह उन कॉन्फ़िगरेशन फ़ाइलों के लिए सामान्य है जो API कुंजियों या स्थानीय निर्भरता संग्रहण फ़ोल्डरों को संग्रहीत करती हैं।
आप अपने प्रोजेक्ट में .gitignore फ़ाइल में एक प्रविष्टि जोड़कर फ़ाइलों को अनदेखा कर सकते हैं:
file_to_add.md directory/
आप अपने प्रोजेक्ट में किसी भी निर्देशिका में gitignore फ़ाइल रख सकते हैं। अपने .gitignore को अपने रिपॉजिटरी के रूट फोल्डर में रखना सबसे अच्छा है ताकि इसे एक्सेस करना आसान हो। एक .gitignore फ़ाइल के सभी नियम उस फ़ोल्डर के भीतर फ़ाइलों और फ़ोल्डरों पर पुनरावर्ती रूप से लागू होंगे जिसमें .gitignore फ़ाइल संग्रहीत है।
अब जब हमने त्रुटि को हल कर लिया है, तो हम git पुल कमांड का उपयोग करके Git रिपॉजिटरी के नवीनतम संस्करण को खींच सकते हैं:
git pull
यह आदेश सफल होना चाहिए क्योंकि अब हम प्रोजेक्ट फ़ोल्डर में मौजूद सभी फाइलों को ट्रैक या अनदेखा कर रहे हैं।
निष्कर्ष
“nothing added to commit but untracked files present
"त्रुटि तब उत्पन्न होती है जब आप किसी रिपॉजिटरी की अपनी स्थानीय कार्यशील प्रति में नई फ़ाइलें बनाते हैं और रिपॉजिटरी के नए संस्करण को खींचने से पहले उन्हें स्टेजिंग क्षेत्र में जोड़ना भूल जाते हैं।
इस त्रुटि को ठीक करने के लिए, या तो त्रुटि उत्पन्न करने वाली फ़ाइलों को स्टेजिंग क्षेत्र में जोड़ें या .gitignore फ़ाइल का उपयोग करके उन्हें अनदेखा करें। अब आपके पास एक पेशेवर की तरह इस सामान्य Git त्रुटि को ठीक करने के लिए आवश्यक ज्ञान है।