Git में फ़ाइल विलोपन को कैसे अनदेखा करें

Git में फ़ाइल विलोपन को कैसे अनदेखा करें
Git में फ़ाइल विलोपन को कैसे अनदेखा करें

आपके Git रिपॉजिटरी में टेस्ट डेटा को संभालना

एक वर्ष से अधिक समय से बीटा में चल रहे प्रोजेक्ट में, परीक्षण डेटा फ़ोल्डर्स ने एक महत्वपूर्ण भूमिका निभाई है। अब, जैसे-जैसे प्रोजेक्ट रिलीज़ की ओर बढ़ रहा है, ये फ़ोल्डर्स प्रोजेक्ट का हिस्सा नहीं रहेंगे। हालाँकि, भविष्य में उपयोग के लिए इन डेटा फ़ाइलों को Git प्रोजेक्ट में रखना महत्वपूर्ण है।

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

आज्ञा विवरण
git rm --cached स्टेजिंग क्षेत्र से फ़ाइलों को हटाकर उन्हें कार्यशील निर्देशिका में रखता है। रिपॉजिटरी में पहले से मौजूद फ़ाइलों में परिवर्तनों की ट्रैकिंग रोकने के लिए उपयोगी।
echo "..." >>echo "..." >> .gitignore निर्दिष्ट फ़ाइलों या फ़ोल्डरों में भविष्य में होने वाले परिवर्तनों को अनदेखा करने के लिए .gitignore फ़ाइल में एक निर्दिष्ट फ़ाइल पथ जोड़ता है।
git add .gitignore अगली प्रतिबद्धता के लिए अद्यतन .gitignore फ़ाइल को स्टेजिंग क्षेत्र में जोड़ता है।
git commit -m "message" स्टेजिंग क्षेत्र में किए गए परिवर्तनों का दस्तावेजीकरण करते हुए, एक निर्दिष्ट संदेश के साथ एक नई प्रतिबद्धता बनाता है।
# शेल स्क्रिप्ट में एक टिप्पणी पंक्ति को दर्शाता है, जिसका उपयोग कमांड के लिए स्पष्टीकरण या एनोटेशन प्रदान करने के लिए किया जाता है।
#!/bin/bash शेल स्क्रिप्ट के लिए स्क्रिप्ट दुभाषिया निर्दिष्ट करता है, यह दर्शाता है कि इसे बैश शेल का उपयोग करके निष्पादित किया जाना चाहिए।

वेबस्टॉर्म के साथ Git में फ़ाइल विलोपन का प्रबंधन

प्रदान की गई स्क्रिप्ट्स Git में फ़ाइल विलोपन को प्रबंधित करने में मदद करती हैं, जिससे यह सुनिश्चित होता है कि रिपॉजिटरी से हटाए बिना विशिष्ट फ़ाइलों को परिवर्तनों के लिए ट्रैक नहीं किया जा सकता है। पहली स्क्रिप्ट कमांड का उपयोग करती है git rm --cached फ़ाइलों को कार्यशील निर्देशिका में रखते हुए उन्हें स्टेजिंग क्षेत्र से हटाने के लिए। यह कमांड Git को इन फ़ाइलों में परिवर्तनों को ट्रैक करने से रोकता है। फ़ाइल पथों को इसमें जोड़कर .gitignore कमांड का उपयोग करके फ़ाइल करें echo "..." >> .gitignore, हम यह सुनिश्चित करते हैं कि Git इन फ़ाइलों में भविष्य में होने वाले किसी भी बदलाव को अनदेखा कर दे।

अद्यतन करने के बाद .gitignore फ़ाइल, स्क्रिप्ट इसे कमांड के साथ स्टेजिंग क्षेत्र में जोड़ती है git add .gitignore और का उपयोग करके परिवर्तन करता है git commit -m "message". दूसरी स्क्रिप्ट इस प्रक्रिया को शेल स्क्रिप्ट से शुरू करके स्वचालित करती है #!/bin/bash दुभाषिया निर्दिष्ट करने के लिए. यह समान चरणों का पालन करता है, जिससे कमांड को एक बार में निष्पादित करना आसान हो जाता है। निर्दिष्ट फ़ोल्डरों को अनदेखा करने के लिए वेबस्टॉर्म सेटिंग्स को समायोजित करके, हम विकास वर्कफ़्लो को सुव्यवस्थित करके अवांछित परिवर्तनों को होने से रोक सकते हैं।

WebStorm के साथ Git में हटाई गई फ़ाइलों को अनदेखा करना

फ़ाइल विलोपन को संभालने के लिए Git कमांड का उपयोग करना

git rm --cached path/to/data/folder/*
echo "path/to/data/folder/*" >> .gitignore
git add .gitignore
git commit -m "Stop tracking changes to data folder"
# This will keep the files in the repo but ignore future changes

शेल स्क्रिप्ट के साथ Git को स्वचालित करना परिवर्तनों को अनदेखा करता है

प्रक्रिया को स्वचालित करने के लिए शेल स्क्रिप्टिंग का उपयोग करना

#!/bin/bash
# Script to ignore deletions in Git
DATA_FOLDER="path/to/data/folder"
git rm --cached $DATA_FOLDER/*
echo "$DATA_FOLDER/*" >> .gitignore
git add .gitignore
git commit -m "Ignore data folder changes"
echo "Changes are now ignored for $DATA_FOLDER"

फ़ाइलों को अनदेखा करने के लिए वेबस्टॉर्म को कॉन्फ़िगर करना

फ़ाइल ट्रैकिंग प्रबंधित करने के लिए वेबस्टॉर्म सेटिंग्स समायोजित करना

# In WebStorm:
# 1. Open Settings (Ctrl+Alt+S)
# 2. Go to Version Control -> Ignored Files
# 3. Add "path/to/data/folder/*" to the list
# This tells WebStorm to ignore changes to the specified folder

उन्नत गिट रणनीतियों पर ध्यान न दें

Git रिपॉजिटरी में फ़ाइलों को प्रबंधित करते समय विचार करने के लिए एक अन्य महत्वपूर्ण पहलू वैश्विक .gitignore फ़ाइलों का उपयोग है। ये उन फ़ाइलों को अनदेखा करने के लिए विशेष रूप से उपयोगी हैं जो आपके विकास परिवेश के लिए विशिष्ट हैं, जैसे आईडीई कॉन्फ़िगरेशन, ओएस-विशिष्ट फ़ाइलें और अन्य अस्थायी फ़ाइलें जिन्हें ट्रैक करने की आवश्यकता नहीं है। वैश्विक .gitignore फ़ाइल बनाने के लिए, आप कमांड का उपयोग कर सकते हैं git config --global core.excludesfile ~/.gitignore_global, जो एक वैश्विक .gitignore फ़ाइल सेट करता है जो आपके सभी Git रिपॉजिटरी पर लागू होती है।

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

Git में फ़ाइलों को अनदेखा करने के बारे में सामान्य प्रश्न

  1. मैं पहले से ट्रैक की गई फ़ाइलों को कैसे अनदेखा करूँ?
  2. आप इसका उपयोग कर सकते हैं git rm --cached अपनी कार्यशील निर्देशिका में रखते हुए स्टेजिंग क्षेत्र से फ़ाइलों को हटाने के लिए फ़ाइल पथ के बाद कमांड।
  3. .gitignore फ़ाइल का उद्देश्य क्या है?
  4. .gitignore फ़ाइल का उपयोग उन फ़ाइलों और निर्देशिकाओं को निर्दिष्ट करने के लिए किया जाता है जिन्हें Git को अनदेखा करना चाहिए। यह अनावश्यक फ़ाइलों को ट्रैक होने से रोकता है और रिपॉजिटरी को साफ़ रखने में मदद करता है।
  5. मैं किसी फ़ाइल को हटाए बिना उसमें हुए परिवर्तनों को कैसे अनदेखा कर सकता हूँ?
  6. का उपयोग करके स्टेजिंग क्षेत्र से फ़ाइल को हटाने के बाद git rm --cached, आप भविष्य के परिवर्तनों को अनदेखा करने के लिए इसका पथ .gitignore फ़ाइल में जोड़ सकते हैं।
  7. क्या मेरे पास एक वैश्विक .gitignore फ़ाइल हो सकती है?
  8. हाँ, आप कमांड का उपयोग करके एक वैश्विक .gitignore फ़ाइल सेट कर सकते हैं git config --global core.excludesfile ~/.gitignore_global अपने सभी रिपॉजिटरी में पैटर्न को अनदेखा करना।
  9. Git में प्री-कमिट हुक क्या है?
  10. प्री-कमिट हुक एक स्क्रिप्ट है जो हर कमिट से पहले चलती है। इसका उपयोग .gitignore फ़ाइल में पैटर्न जोड़ने या कोड गुणवत्ता की जाँच करने जैसे कार्यों को स्वचालित करने के लिए किया जा सकता है।
  11. मैं .gitignore में एक पैटर्न कैसे जोड़ूँ?
  12. आप बस .gitignore फ़ाइल को संपादित करके और पैटर्न जोड़कर एक पैटर्न जोड़ सकते हैं, उदाहरण के लिए, *.log सभी लॉग फ़ाइलों को अनदेखा करने के लिए.
  13. क्या उपेक्षित फ़ाइलें मेरी कार्यशील निर्देशिका से हटा दी जाएंगी?
  14. नहीं, उपेक्षित फ़ाइलें आपकी कार्यशील निर्देशिका में रहेंगी; उन्हें Git द्वारा ट्रैक नहीं किया जाएगा।
  15. क्या मैं केवल किसी विशिष्ट शाखा की फ़ाइलों को अनदेखा कर सकता हूँ?
  16. नहीं, .gitignore फ़ाइल संपूर्ण रिपॉजिटरी पर लागू होती है, विशिष्ट शाखाओं पर नहीं। हालाँकि, आप शाखा-विशिष्ट कॉन्फ़िगरेशन का उपयोग करके फ़ाइल ट्रैकिंग प्रबंधित कर सकते हैं।
  17. यदि मैं किसी फ़ाइल को हटा दूं और वह अभी भी Git द्वारा ट्रैक की जाए तो क्या होगा?
  18. यदि कोई ट्रैक की गई फ़ाइल स्थानीय रूप से हटा दी जाती है, तो Git विलोपन को नोटिस करेगा और इसे अगली प्रतिबद्धता के लिए चरणबद्ध करेगा। इस परिवर्तन को अनदेखा करने के लिए, का उपयोग करें git rm --cached अपनी .gitignore फ़ाइल को कमांड करें और अपडेट करें।

अंतिम विचार:

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