Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

Git के साथ अनट्रैक्ड फ़ाइलें हटाना

आप अनट्रैक्ड फ़ाइलों को हटाने के लिए git clean कमांड का उपयोग कर सकते हैं। -fd कमांड अनट्रैक्ड डायरेक्टरीज़ को हटाता है और git clean -fx कमांड अनदेखी और गैर-अनदेखी फ़ाइलों को हटाता है। आप .gitignore फ़ाइल का उपयोग करके अनट्रैक्ड फ़ाइलों को हटा सकते हैं।

Git रिपॉजिटरी में दो प्रकार की फ़ाइलें होती हैं: ट्रैक्ड और अनट्रैक्ड फ़ाइलें। आप एक ऐसे परिदृश्य का सामना कर सकते हैं जहां आपको Git रिपॉजिटरी से अनट्रैक्ड फ़ाइलों को हटाने की आवश्यकता हो।

क्या हमें अनट्रैक्ड फ़ाइलों को हटाना चाहिए? हमें ऐसा करना पड़ सकता है यदि:

  • हमारी वर्किंग (स्थानीय) डायरेक्टरी अनुपयोगी फ़ाइलों से भरी हुई है
  • आपने Git को किसी ऐसे फ़ोल्डर पर इंगित किया जिसे आप नहीं चाहते थे
  • अन्य मर्ज से बची हुई फ़ाइलें हैं, या आप कुछ फ़ाइलों को हटाना चाहते हैं।

Git ने अनट्रैक्ड फ़ाइलें हटा दीं

आप Git ब्रांच से अनट्रैक्ड फ़ाइलों को इन विधियों का उपयोग करके संभाल सकते हैं:

  • एक .gitignore फ़ाइल, जो रिपॉजिटरी में फ़ाइलों और डायरेक्टरीज़ को अनदेखा करती है
  • git clean -fx कमांड, जो अनट्रैक्ड और ट्रैक्ड फ़ाइलों को हटाता है
  • git clean -fd कमांड, जो अनट्रैक्ड फ़ाइलों और डायरेक्टरीज़ को हटाता है

इस गाइड में, हम चर्चा करने जा रहे हैं कि Git के साथ अनट्रैक्ड फ़ाइलों को कैसे हटाया जाए। हम कुछ उदाहरणों का संदर्भ देंगे ताकि आप जल्दी से शुरू कर सकें।

ट्रैक्ड बनाम अनट्रैक्ड फ़ाइलों के बीच अंतर

आपकी वर्किंग या स्थानीय डायरेक्टरी में आपकी फ़ाइलें या तो ट्रैक्ड या अनट्रैक्ड होती हैं। ट्रैक्ड का मतलब है वे फ़ाइलें जो पिछले स्नैपशॉट में जोड़ी गईं और कमिट की गईं और Git उनसे अवगत है, परिवर्तनों के लिए उन्हें ट्रैक कर रहा है।

अनट्रैक्ड फ़ाइलें इसके विपरीत हैं, वे फ़ाइलें पिछले कमिट में नहीं थीं और कमिट करने के लिए स्टेज नहीं की गई हैं। आपके पास या तो उन्हें स्टेज करके अपने रिपॉजिटरी में कमिट करने का विकल्प है, या उन्हें हटाने का!

यदि हम फ़ाइलों को संशोधित/जोड़ने के ठीक बाद git status करते हैं तो यह हमें अनट्रैक्ड फ़ाइलों की सूची और ट्रैक की गई फ़ाइलों को दिखाएगा।

अनट्रैक्ड फ़ाइलें हटाएं Git विकल्प 1: .gitignore

पहला विकल्प ऐसी फ़ाइलों को अनदेखा करना है। आप एक C++ प्रोजेक्ट पर काम कर रहे होंगे जो बिल्ड के दौरान आपको फ़ाइलें जनरेट करता है जिन्हें आप उपलब्ध नहीं कराना चाहते।

उदाहरण के लिए, आपके पास सभी एनवायरनमेंट वेरिएबल्स और डेटाबेस, API, एक्सेस कुंजियों के साथ एक .env फ़ाइल हो सकती है। आप उस जानकारी को बाहर जंगल में भी नहीं चाहेंगे, है ना? यहीं .gitignore फ़ाइलें काम आती हैं।

.gitignore फ़ाइल में मौजूद कोई भी फ़ाइल अनट्रैक्ड/ट्रैक्ड Git फ्लो का हिस्सा नहीं होगी। वे इससे हटा दी जाएंगी। तो Git उन्हें अनदेखा करेगा और उन्हें ट्रैक नहीं करेगा और न ही शिकायत करेगा कि वे ट्रैक नहीं किए गए हैं।

सबसे पहले, रूट में एक .gitignore फ़ाइल बनाएं। और फिर हम सापेक्ष पथ निर्दिष्ट करेंगे। तो मान लें कि हम node_modules और config.env फ़ाइल को छिपाना चाहते हैं तो हम उन्हें ऐसे जोड़ते हैं:

node_modules config.env

जैसे-जैसे आपका प्रोजेक्ट बढ़ता है, Gitignore को समझना आवश्यक है ताकि आप जान सकें कि किन फ़ोल्डर्स या फ़ाइलों को वहां जोड़ने की आवश्यकता है। ऐसा इसलिए है क्योंकि आप उन्हें Git वर्कफ्लो में अनट्रैक्ड के रूप में नहीं चाहते हैं और फिर गलती से उन्हें स्टेज करके Git को ऐसी संवेदनशील फ़ाइलों को ट्रैक करने का कारण बनते हैं जिनमें सभी के लिए आपकी कुंजियाँ उजागर होती हैं!

जैसे-जैसे आपका प्रोजेक्ट बढ़ता है, Gitignore को समझना आवश्यक है ताकि आप जान सकें कि किन फ़ोल्डर्स या फ़ाइलों को वहां जोड़ने की आवश्यकता है। ऐसा इसलिए है क्योंकि आप उन्हें Git वर्कफ्लो में अनट्रैक्ड के रूप में नहीं चाहते हैं और फिर गलती से उन्हें स्टेज करके Git को ऐसी फ़ाइलों को ट्रैक करने का कारण बनाते हैं जिनमें ऐसी जानकारी होती है जिसे रिपॉजिटरी में साझा नहीं किया जाना चाहिए।

अनट्रैक्ड फ़ाइलें हटाएं Git विकल्प 2: git clean

फ़ाइलों को हटाने का अगला विकल्प git clean कमांड का उपयोग करना है। git clean कमांड एक रिपॉजिटरी से अनट्रैक्ड फ़ाइलों को हटाता है।

git clean कमांड आपके वर्किंग ट्री के अंदर आपकी वर्तमान वर्किंग डायरेक्टरी से शुरू होता है। आपका वर्किंग ट्री वह ब्रांच है जिसे आप देख रहे हैं।

यह कमांड तब उपयोगी होगा जब, उदाहरण के लिए, आप गलती से किसी अन्य फ़ोल्डर के बजाय हाई स्कूल की तस्वीरों वाला फ़ोल्डर रिपॉजिटरी में जोड़ दें।

Git clean कुछ विकल्प लेता है। आइए इस कमांड के सिंटैक्स पर एक नज़र डालते हैं:

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…

इस बिंदु पर यह उल्लेखनीय है कि Git clean आपकी फ़ाइल को हार्ड सिस्टम तरीके से हटाता है. इसका मतलब है कि आप अपने परिवर्तनों को पूर्ववत नहीं कर सकते। यह टर्मिनल में rm कमांड के समान है। लेकिन, यदि कोई फ़ाइल पिछले कमिट में ट्रैक की गई थी, तो हम एक पुराना संस्करण ढूंढने में सक्षम हो सकते हैं।

git clean -d -n

यदि हम कोई पथ निर्दिष्ट नहीं करते हैं तो हम अक्सर Git को अनट्रैक्ड डायरेक्टरीज़ में देखने के लिए -d विकल्प शामिल करना चाहते हैं।

हमें पहले ड्राई रन विकल्प -n शामिल करना चाहिए। यह Git को निर्देश देता है कि वह हमें चेतावनी दे कि क्या हटाया जाएगा इसे हटाने से पहले। दूसरे शब्दों में, -n फ्लैग हमारे क्लीन फंक्शन का ड्राई रन करता है। फिर, हम git clean चला सकते हैं एक बार जब हम सुनिश्चित हों कि हमारे परिवर्तन किए गए हैं।

इस विकल्प का उपयोग करने से हमें उन फ़ाइलों को हटाने के खिलाफ एक सुरक्षा मिलेगी जिन्हें हम हटाने के लिए तैयार नहीं हैं, या जिन्हें हम हटाना नहीं चाहते। यहाँ हम git clean -d -n कमांड के साथ समाप्त होते हैं।

आइए इसे क्रिया में देखें। हमारे पास हमारी sillyPicture.jpg है जिसे हम ट्रैक नहीं करना चाहते और हटाना चाहते हैं। जांचें कि क्या होगा:

git clean -f

Git clean को काम करने के लिए, हमें एक फोर्स विकल्प निर्दिष्ट करने की आवश्यकता हो सकती है। इस विकल्प का उपयोग केवल तभी किया जाना चाहिए जब आप सुनिश्चित हों कि आप रिपॉजिटरी से आपके द्वारा चुनी गई फ़ाइलों को हटाना चाहते हैं।

आइए आगे बढ़ें और git clean -f के साथ अपनी sillyPicture.jpg को हटाएं या आप git clean -f sillyPicture.jpg के साथ अधिक विशिष्ट हो सकते हैं।

यहां आप देख सकते हैं कि यहां git status ने पहले बताया कि एक अनट्रैक्ड फ़ाइल थी, फिर -f विकल्प के साथ हटाने के बाद फ़ाइल चली गई। C'est fini!

हालांकि -f विकल्प और Git clean बहुत शक्तिशाली है, यह अनदेखी फ़ाइलों के साथ काम नहीं करेगा। ऐसा इसलिए है क्योंकि यह केवल उन फ़ाइलों के साथ काम करता है जिनके बारे में Git जानता है और जो इसके वर्जन कंट्रोल सिस्टम का हिस्सा हैं।

git clean -x

जब तक आप वास्तव में नहीं जानते कि आप क्या कर रहे हैं, इसकी अनुशंसा नहीं की जाती है। हां आप अनदेखी फ़ाइलों और डायरेक्टरीज़ को हटा सकते हैं। ऐसा करने के लिए बस -x विकल्प का उपयोग करें। तो git clean -d -x -f यह पलक झपकते ही कर देगा। लेकिन अभी इसका उपयोग न करें।

git clean -d -i

शुरुआती लोगों के लिए अनुशंसित। जैसे-जैसे आप शुरुआत कर रहे हैं, आप उन विकल्पों के बारे में सावधान रहना चाहेंगे जिन्हें आप पास करते हैं। हमने आपको पहले ही ड्राई रन -n विकल्प दिखाया है। एक -i विकल्प भी है जो आपको एक इंटरएक्टिव इंटरफ़ेस दिखाएगा जिसके साथ आप खेल सकते हैं!

निष्कर्ष

आप .gitignore या git clean कमांड का उपयोग करके रिपॉजिटरी से अनट्रैक्ड फ़ाइलों को हटा सकते हैं। git clean कमांड फ़ाइलों को रिकर्सिवली हटाता है। यह कमांड आपकी वर्तमान वर्किंग डायरेक्टरी से शुरू होता है।

Git के बारे में अधिक जानने के लिए, हमारा How to Learn Git गाइड पढ़ें।

  1. AirDroid फाइल ट्रांसफर के साथ फाइलें ट्रांसफर करें AirDroid फाइल ट्रांसफर के साथ फाइलें ट्रांसफर करें

    स्मार्टफोन के अचानक उछाल के साथ, आज की दुनिया में आपके पीसी और स्मार्टफोन के बीच फाइलें ट्रांसफर करने की आवश्यकता भी महत्वपूर्ण हो गई है। लेकिन, आप डेटा कैसे ट्रांसफर करते हैं? ऐसे उदाहरणों में, AirDroid जैसे फाइल ट्रांसफर टूल बचाव के लिए आते हैं। भाग 1: AirDroid क्या है और इसके साथ फाइलें कैसे ट्र

  1. Git के लिए शुरुआती गाइड Git के लिए शुरुआती गाइड

    यदि आप एक Linux उपयोगकर्ता हैं, तो आप शायद किसी बिंदु पर Git से मिले होंगे, शायद एक नया प्रोग्राम डाउनलोड करने की कोशिश करते समय या CVS या Subversion जैसे संस्करण नियंत्रण प्रणालियों को देखते समय। Git, Linux कर्नेल के प्रसिद्ध Linus Torvalds द्वारा बनाया गया रिविजन कंट्रोल सिस्टम है, जो मौजूदा समाधा

  1. वनड्राइव फाइलों को किसी के साथ सुरक्षित रूप से शेयर करें - पूर्ण गाइड वनड्राइव फाइलों को किसी के साथ सुरक्षित रूप से शेयर करें - पूर्ण गाइड

    माइक्रोसॉफ्ट वनड्राइव विंडोज के लिए डिफ़ॉल्ट ऑनलाइन स्टोरेज और सिंकिंग सेवा है। इसके साथ आने वाली अविश्वसनीय रूप से विस्तृत सुविधाओं की सरणी के साथ, हम यह कहने में संकोच नहीं करते कि यह ऐप अपने लगभग सभी प्रतिस्पर्धियों से बेहतर है। वनड्राइव आपको दस्तावेज़ ऑनलाइन स्टोर करने देता है और वेब एप्लिकेशन म