.gitignore का सिंटैक्स
जैसा कि बताया गया, .gitignore फ़ाइलों में ऐसे पैटर्न होते हैं जिन्हें आपके रिपॉजिटरी में फ़ाइल नामों से मिलाया जाता है ताकि यह तय हो सके कि उन्हें नज़रअंदाज़ किया जाए या नहीं।
मूल सिंटैक्स
मूल रूप से, .gitignore फ़ाइल पंक्तियों से बनी होती है, और हर पंक्ति एक ऐसा पैटर्न दर्शाती है जिसे नज़रअंदाज़ किया जाना है। पैटर्न इनसे मेल खा सकते हैं:
- विशिष्ट फ़ाइलें
- फ़ाइल प्रकार
- निर्देशिकाएँ
फ़ाइल में टिप्पणियाँ भी समर्थित हैं, जिन्हें # से शुरू करके जोड़ा जा सकता है, और पठनीयता बढ़ाने के लिए खाली पंक्तियाँ भी दी जा सकती हैं।
यहाँ मूल संरचना का एक अवलोकन है:
- किसी विशिष्ट फ़ाइल को नज़रअंदाज़ करें: आप सीधे फ़ाइल का नाम लिखकर उसे नज़रअंदाज़ कर सकते हैं।
secrets.txt
- पूरी निर्देशिका नज़रअंदाज़ करें: निर्देशिका नाम के अंत में
/जोड़कर, आप उसके अंदर की हर चीज़ को नज़रअंदाज़ कर सकते हैं।
logs/
- किसी विशेष प्रकार की सभी फ़ाइलें नज़रअंदाज़ करें: वाइल्डकार्ड (
*) का उपयोग कर आप किसी विशेष एक्सटेंशन वाली सभी फ़ाइलों को नज़रअंदाज़ कर सकते हैं।
*.py
- निगेशन: आप
!का उपयोग कर किसी पैटर्न को नकार सकते हैं और उन विशेष फ़ाइलों या निर्देशिकाओं को स्पष्ट रूप से ट्रैक कर सकते हैं जिन्हें अन्यथा नज़रअंदाज़ किया जाता।
*.txt # Ignores all .txt files
!readme.txt # Except for readme.txt
.gitignore फ़ाइल कैसे बनाएं और उपयोग करें
.gitignore बनाना और उपयोग करना काफ़ी सीधा है। इस अनुभाग में, मैं चरणों से लेकर चलूँगा।
.gitignore फ़ाइल बनाना
चरण 1: अपनी रिपॉजिटरी की रूट में जाएँ। .gitignore फ़ाइल आमतौर पर Git प्रोजेक्ट की रूट निर्देशिका में रखी जाती है। अपना टर्मिनल या कमांड लाइन खोलें और अपनी Git रिपॉजिटरी की रूट निर्देशिका पर जाएँ:
cd /path/to/your/repo
चरण 2: .gitignore फ़ाइल बनाएँ। रूट निर्देशिका में पहुँचने के बाद, किसी भी टेक्स्ट एडिटर से या टर्मिनल में यह कमांड चलाकर .gitignore फ़ाइल बनाएँ, जैसे:
touch .gitignore
चरण 3: फ़ाइल में पैटर्न जोड़ें। .gitignore फ़ाइल को टेक्स्ट एडिटर में खोलें और फ़ाइलों या निर्देशिकाओं को नज़रअंदाज़ करने के लिए आवश्यक पैटर्न जोड़ें। हर पंक्ति एक अलग पैटर्न दर्शाती है।
यहाँ एक उदाहरण .gitignore फ़ाइल है जो किसी बुनियादी प्रोजेक्ट में आमतौर पर उपयोग होती है:
# Ignore node_modules and dependency directories
node_modules/
vendor/
# Ignore build artifacts
dist/
build/
*.log
# Ignore system-generated files
.DS_Store
Thumbs.db
# Ignore environment and secret files
.env
config.json
जब आप आवश्यक पैटर्न जोड़ लें, फ़ाइल सहेजें। अब Git स्टेजिंग या कमिट करते समय इन फ़ाइलों को स्वतः नज़रअंदाज़ करेगा।
चरण 4: फ़ाइल को रिपॉजिटरी में कमिट करें। यह महत्वपूर्ण है कि .gitignore फ़ाइल को रिपॉजिटरी में कमिट किया जाए ताकि सभी सहयोगी एक ही इग्नोर नियमों का उपयोग करें। इससे प्रोजेक्ट में शामिल सभी लोगों के लिए स्थिरता बनी रहती है।
git add .gitignore
git commit -m "Add .gitignore file"
git push
एक बार .gitignore फ़ाइल कमिट हो जाने पर, आप पूरी टीम के लिए साझा इग्नोर नियम स्थापित कर देते हैं।
Git में पुश और पुल में महारत हासिल करना चाहते हैं? अपनी कार्यप्रणाली को रिमोट रिपॉजिटरीज़ के साथ सिंक करना सीखें इस Git push और pull ट्यूटोरियल में।
.gitignore उपयोग करने की सर्वोत्तम प्रथाएँ
हालाँकि .gitignore फ़ाइल बनाना एक साफ़ Git रिपॉजिटरी बनाए रखने का सरल हिस्सा है, समय के साथ इसे प्रभावी ढंग से प्रबंधित करने के लिए कुछ सर्वोत्तम प्रथाओं का पालन किया जाना चाहिए।
ग्लोबल .gitignore का उपयोग करें
जो डेवलपर्स कई प्रोजेक्ट्स पर काम करते हैं, उनके लिए कुछ फ़ाइलें ऐसी होती हैं जिन्हें आप हर रिपॉजिटरी से बाहर रखना चाहेंगे, चाहे प्रोजेक्ट का प्रकार कुछ भी हो।
उन्हें हर प्रोजेक्ट की .gitignore फ़ाइल में जोड़ने के बजाय, आप एक ग्लोबल .gitignore कॉन्फ़िगर कर सकते हैं जो आपके सिस्टम की सभी रिपॉजिटरीज़ पर लागू होता है।
ग्लोबल .gitignore फ़ाइल कॉन्फ़िगर करने के लिए:
- एक
.gitignore_globalफ़ाइल बनाएँ:
touch ~/.gitignore_global
- उन फ़ाइलों के लिए पैटर्न जोड़ें जिन्हें आप ग्लोबली नज़रअंदाज़ करना चाहते हैं, जैसे:
.DS_Store
*.log
/.vscode/
/.idea/
- Git को ग्लोबल
.gitignoreउपयोग करने के लिए सेट करें:
git config --global core.excludesfile ~/.gitignore_global
मौजूदा टेम्पलेट्स का लाभ उठाएँ
हर नए प्रोजेक्ट के लिए .gitignore फ़ाइल शून्य से बनाने के बजाय, आप विशेष भाषाओं, फ़्रेमवर्क्स, या एन्वायरनमेंट्स के लिए पहले से कॉन्फ़िगर किए गए .gitignore टेम्पलेट्स का उपयोग कर सकते हैं।
इन टेम्पलेट्स के लिए सबसे अच्छे संसाधनों में से एक है GitHub का आधिकारिक .gitignore रिपॉजिटरी, जहाँ आपको सैकड़ों प्रोग्रामिंग भाषाओं और फ़्रेमवर्क्स के लिए अनुकूलित .gitignore फ़ाइलें मिलेंगी।
.gitignore की नियमित समीक्षा करें
जैसे-जैसे प्रोजेक्ट विकसित होते हैं, नई फ़ाइलें और निर्देशिकाएँ .gitignore फ़ाइल में शामिल करने की ज़रूरत पड़ सकती है। अपने प्रोजेक्ट्स की मौजूदा स्थिति को दर्शाने के लिए फ़ाइल की समय-समय पर समीक्षा और अद्यतन करना महत्वपूर्ण है।
कुछ परिदृश्य जहाँ आपको .gitignore फ़ाइल अपडेट करनी पड़ सकती है, शामिल हैं:
- नए टूल्स या लाइब्रेरी अपनाना जो अतिरिक्त फ़ाइलें जनरेट करते हैं (जैसे, किसी नए बिल्ड सिस्टम पर जाना)।
- निर्देशिकाओं का रिफैक्टर या पुनर्गठन, जिससे ऐसी नई फ़ाइलें आ सकती हैं जिन्हें बाहर रखा जाना चाहिए।
- पुरानी फ़ाइलों या निर्देशिकाओं को हटाना जो अब प्रोजेक्ट का हिस्सा नहीं हैं।
.gitignore की समस्या निवारण
.gitignore सेट करने के बाद भी, आपको ऐसे परिदृश्य मिल सकते हैं जहाँ कुछ फ़ाइलें ट्रैक हो रही हों या पैटर्न उम्मीद के मुताबिक़ काम न कर रहे हों। इस अनुभाग में दो सामान्य समस्या-निवारण क्षेत्रों और उनके समाधान शामिल हैं।
पहले से कमिट की गई फ़ाइलों का ट्रैक होना
.gitignore फ़ाइल पहले से कमिट की गई फ़ाइलों पर रेट्रोएक्टिव रूप से लागू नहीं होती।
यदि आप कुछ फ़ाइलों के कमिट हो जाने के बाद .gitignore में कोई पैटर्न जोड़ते हैं, तो Git उन्हें ट्रैक करता रहेगा भले ही वे .gitignore के पैटर्न से मेल खाती हों।
पहले से कमिट की गई फ़ाइलों को ट्रैक करना बंद करने के लिए, ये चरण अपनाएँ:
- Git के ट्रैकिंग से फ़ाइलें हटाएँ:
git rmकमांड का उपयोग कर उन्हें रिपॉजिटरी से हटाएँ, जबकि वे आपकी वर्किंग डायरेक्टरी में बनी रहेंगी।
git rm --cached <file_or_directory_name>
- परिवर्तनों को कमिट करें: फ़ाइलों को Git के ट्रैकिंग से हटाने के बाद, इन परिवर्तनों को कमिट करें ताकि वे अब वर्ज़न कंट्रोल इतिहास का हिस्सा न रहें।
git commit -m "Stop tracking ignored files"
- परिवर्तनों को रिमोट रिपॉजिटरी में पुश करें: अंत में, परिवर्तनों को रिमोट रिपॉजिटरी में पुश करें ताकि वे फ़ाइलें अब ट्रैक न हों।
git push
इन चरणों के बाद, Git उन फ़ाइलों को ट्रैक करना बंद कर देगा। कमिट की गई फ़ाइलें आपकी वर्किंग डायरेक्टरी में बनी रहेंगी, लेकिन आपकी .gitignore पैटर्न के आधार पर भविष्य के कमिट्स में नज़रअंदाज़ हो जाएँगी।
सुनिश्चित करें कि पैटर्न काम कर रहे हैं
कभी-कभी आप देख सकते हैं कि जिन विशेष फ़ाइलों के नज़रअंदाज़ होने की उम्मीद थी, वे फिर भी Git की स्थिति में दिख रही हैं या ट्रैक हो रही हैं।
यह सुनिश्चित करने के लिए कि आपके .gitignore पैटर्न सही काम कर रहे हैं, ये कदम अपनाएँ:
- अपनी फ़ाइलों की स्थिति जाँचें:
git statusकमांड का उपयोग करें यह देखने के लिए कि Git किन फ़ाइलों को ट्रैक कर रहा है। इससे आप सत्यापित कर पाएँगे कि आपकी इग्नोर की गई फ़ाइलें अभी भी सूचीबद्ध हैं या नहीं।
git status
- सुनिश्चित करें कि पैटर्न सही है: अपने
.gitignoreपैटर्न के सिंटैक्स को दोबारा जाँचें कि वे ठीक से फ़ॉर्मैट किए गए हैं। उदाहरण के लिए: - सुनिश्चित करें कि आप सही निर्देशिका पथ (रिपॉजिटरी की रूट के सापेक्ष) का उपयोग कर रहे हैं।
- विशिष्ट निर्देशिकाओं को लक्षित करने के लिए
/जोड़ें ताकि समान नाम वाली सभी फ़ाइलें ट्रैक न हों।
- कैश रिफ्रेश करें: यदि आपने हाल ही में अपनी
.gitignoreफ़ाइल अपडेट की है और बदलाव लागू नहीं हो रहे, तो संभव है Git पुराने कैश को पकड़े हुए है। कैश रिफ्रेश करने के लिए यह कमांड चलाएँ:
git rm -r --cached .
git add .
git commit -m "Refresh .gitignore"
- अपवाद जाँचें: कभी-कभी
.gitignoreमें दिया कोई पैटर्न फ़ाइल में कहीं और दिए गए अधिक विशिष्ट पैटर्न द्वारा ओवरराइड हो सकता है। अपने नियमों की समीक्षा करें कि कोई टकराव तो नहीं है।
तेज़ Git संदर्भ की तलाश है? ज़रूरी कमांड्स को अपनी उंगलियों की नोक पर रखें इस Git चीट शीट के साथ।
निष्कर्ष
.gitignore फ़ाइल छोटी लग सकती है, लेकिन यह आपके Git रिपॉजिटरी को साफ़ और प्रबंधनीय रखने में बड़ी भूमिका निभाती है। डिपेंडेंसीज़, बिल्ड आर्टिफैक्ट्स, और सिस्टम-जनित फ़ाइलों जैसी अनावश्यक चीज़ों को नज़रअंदाज़ करके, आप अपने प्रोजेक्ट को व्यवस्थित और अव्यवस्था-रहित रखते हैं।
इस ट्यूटोरियल में, आपने सीखा कि .gitignore फ़ाइल कैसे बनाएँ, पैटर्न कैसे जोड़ें, और अपने रिपो को कुशल बनाए रखने के लिए सर्वोत्तम प्रथाएँ कैसे लागू करें। इन कौशलों के साथ, आप वर्ज़न कंट्रोल से जुड़ी दिक्कतों से बचेंगे और अपनी टीम के सभी सदस्यों के लिए सहयोग को और सहज बनाएँगे।
यदि आप अपनी Git स्किल्स को गहरा करना चाहते हैं, तो एक संरचित लर्निंग पाथ के लिए Git Fundamentals देखें। आप Foundations of Git और Introduction to GitHub Concepts जैसे हैंड्स-ऑन कोर्स भी देख सकते हैं ताकि वर्ज़न कंट्रोल और सहयोगी वर्कफ़्लोज़ की ठोस समझ बना सकें!
FAQs
क्या .gitignore Git द्वारा पहले से ट्रैक की जा रही फ़ाइलों को हटा देता है?
नहीं, .gitignore केवल नई फ़ाइलों को ट्रैक होने से रोकता है। अगर कोई फ़ाइल पहले से वर्ज़न कंट्रोल में है, तो उसे .gitignore में जोड़ने से वह नहीं हटेगी। ऐसी फ़ाइल का ट्रैकिंग बंद करने के लिए जो पहले ही कमिट हो चुकी है, आपको यह चलाना होगा:
git rm --cached filename
इसके बाद, परिवर्तनों को कमिट करें।
क्या मैं किसी प्रोजेक्ट में एक से अधिक .gitignore फ़ाइलें रख सकता/सकती हूँ?
हाँ! आप अपने प्रोजेक्ट की अलग-अलग निर्देशिकाओं में .gitignore फ़ाइलें रख सकते हैं। हर फ़ाइल सिर्फ़ अपनी निर्देशिका और उसकी उप-निर्देशिकाओं पर लागू होती है।
मैं किसी विशेष प्रकार की सभी फ़ाइलों को कैसे नज़रअंदाज़ करूँ?
आप वाइल्डकार्ड का उपयोग कर सकते हैं। उदाहरण के लिए, सभी .log फ़ाइलों को नज़रअंदाज़ करने के लिए:
*.log
यह .log एक्सटेंशन वाली सभी फ़ाइलों को बाहर कर देगा।
क्या मैं किसी विशिष्ट फ़ाइल को नज़रअंदाज़ कर सकता/सकती हूँ, लेकिन अपने काम के लिए उसे ट्रैक भी रखूँ?
हाँ, लेकिन आपको मैन्युअल रूप से सुनिश्चित करना होगा कि वह कमिट न हो। ऐसा करने का एक तरीका है git update-index --assume-unchanged filename का उपयोग, जो अस्थायी समाधान है। बेहतर तरीका है ग्लोबल .gitignore फ़ाइल का उपयोग करना (अगला प्रश्न देखें)।
ग्लोबल .gitignore फ़ाइल क्या है, और मैं इसे कैसे सेट करूँ?
ग्लोबल .gitignore आपकी मशीन की सभी रिपॉजिटरीज़ में फ़ाइलों को नज़रअंदाज़ करने के लिए उपयोग होता है। यह .DS_Store या Thumbs.db जैसी सिस्टम-विशिष्ट फ़ाइलों के लिए उपयोगी है। ग्लोबल .gitignore बनाने और कॉन्फ़िगर करने के लिए:
git config --global core.excludesfile ~/.gitignore_global
फिर, आवश्यकता अनुसार ~/.gitignore_global में पैटर्न जोड़ें।
मेरी .gitignore फ़ाइल काम क्यों नहीं कर रही है?
यदि .gitignore किसी फ़ाइल को नज़रअंदाज़ नहीं कर रहा है, तो इन आम समस्याओं की जाँच करें:
- फ़ाइल पहले से ट्रैक हो रही है—आपको
git rm --cached filenameका उपयोग कर उसे हटाना होगा। .gitignoreपैटर्न गलत हो सकता है—अपने सिंटैक्स को दोबारा जाँचें।- कोई टकराव वाला नियम है—Git आखिरी मेल खाने वाले नियम को लागू करता है, इसलिए क्रम महत्वपूर्ण है।
क्या मैं किसी निर्देशिका को नज़रअंदाज़ कर सकता/सकती हूँ लेकिन उसके अंदर की किसी विशेष फ़ाइल को रख सकता/सकती हूँ?
अगर दो टीम सदस्यों के .gitignore अलग हों तो क्या होगा?
यदि .gitignore रिपॉजिटरी में कमिट है, तो सभी टीम सदस्य वही नियम फॉलो करेंगे। हालाँकि, यदि कोई व्यक्ति .gitignore को लोकली संशोधित करता है लेकिन बदलाव कमिट नहीं करता, तो उसके इग्नोर फ़ाइलें अलग हो सकती हैं। सबसे अच्छा है कि .gitignore को वर्ज़न किया जाए और टीम द्वारा सहमति बनाई जाए।
मैं कैसे जाँचूँ कि कौन-सी फ़ाइलें नज़रअंदाज़ हो रही हैं?
यह देखने के लिए कि .gitignore क्या बाहर कर रहा है, यह कमांड चलाएँ:
git status --ignored
या, अधिक विस्तृत सूची के लिए:
git check-ignore -v filename
क्या मैं .gitignore में इग्नोर की गई फ़ाइल को फिर से ट्रैक कर सकता/सकती हूँ?
हाँ! फ़ाइल को .gitignore से हटाएँ और फिर इसे दोबारा ट्रैक करें:
git add filename
उसके बाद, परिवर्तनों को कमिट करें।

Git के साथ काम करते समय, अपना रिपॉजिटरी साफ़ और सुव्यवस्थित रखना सिर्फ़ एक अच्छी प्रथा नहीं—यह सुचारु सहयोग और कुशल वर्ज़न कंट्रोल के लिए अनिवार्य है। यहीं
.gitignoreकाम आता है। यह उपयोगी फ़ाइल Git को बताती है कि किन फ़ाइलों को नज़रअंदाज़ करना है, जिससे अनावश्यक अव्यवस्था रुकती है और आपके कमिट्स उन चीज़ों पर केंद्रित रहते हैं जो वास्तव में मायने रखती हैं।यदि
.gitignoreन हो, तो आपका रिपो अस्थायी फ़ाइलों, लॉग्स और अन्य ऐसी चीज़ों से जल्दी भर सकता है जो वर्ज़न कंट्रोल में नहीं होनी चाहिए। इससे भी बुरा, आप गलती से संवेदनशील जानकारी साझा कर सकते हैं।इस ट्यूटोरियल में, आप सीखेंगे कि अपने प्रोजेक्ट को व्यवस्थित रखने, आम गलतियों से बचने, और Git के साथ अधिक प्रभावी ढंग से काम करने के लिए
.gitignoreफ़ाइल कैसे बनाएं और उपयोग करें। आइए शुरू करें!.gitignore फ़ाइल क्या है?
.gitignoreएक कॉन्फ़िगरेशन फ़ाइल है जो Git में उपयोग होती है ताकि वर्ज़न कंट्रोल सिस्टम को यह बताया जा सके कि किन फ़ाइलों या निर्देशिकाओं को बदलाव स्टेज या कमिट करते समय नज़रअंदाज़ करना है।यह अनावश्यक फ़ाइलों—जैसे अस्थायी, सिस्टम-जनित, या बिल्ड-संबंधित फ़ाइलों—को आपके रिपॉजिटरी में अव्यवस्था फैलाने से रोकती है। रिपॉजिटरी को साफ़ रखना सहयोग को आसान बनाता है और सुनिश्चित करता है कि केवल आवश्यक फ़ाइलें ही ट्रैक हों।
.gitignoreएक साधारण टेक्स्ट फ़ाइल है जिसे आपके Git रिपॉजिटरी की रूट निर्देशिका में रखा जाता है। इसमें ऐसे पैटर्न होते हैं जो Git को बताते हैं कि किन फ़ाइलों या निर्देशिकाओं को नज़रअंदाज़ करना है। ये पैटर्न आपके प्रोजेक्ट की ज़रूरतों के अनुसार अनुकूलित किए जा सकते हैं, जिससे आप एक सुव्यवस्थित रिपॉजिटरी बनाए रख सकें।Git और GitHub में नए हैं? वर्ज़न कंट्रोल का शुरुआती-अनुकूल परिचय पाने के लिए यह GitHub और Git ट्यूटोरियल देखें।
यहाँ कुछ सामान्य श्रेणियाँ हैं जिनकी फ़ाइलों और निर्देशिकाओं को आपको नज़रअंदाज़ करने पर विचार करना चाहिए:
dist/,build/(फ्रंटएंड और बैकएंड बिल्ड आउटपुट)target/(Java और अन्य संकलित भाषाओं के बिल्ड)node_modules/(Node.js)vendor/(PHP, Composer).venv/,venv/(Python वर्चुअल एन्वायरनमेंट).DS_Store(macOS)Thumbs.db(Windows).vscode/(VS Code).idea/(JetBrains IDEs).project,.settings/(Eclipse)*.log,npm-debug.log*,yarn-debug.log*,yarn-error.log*(विभिन्न टूल्स के लॉग)*.tmp,*.bak(अस्थायी और बैकअप फ़ाइलें).mypy_cache/,__pycache__/(Python कैशेज़).ipynb_checkpoints/(Jupyter Notebook चेकपॉइंट्स).env,.env.local,.env.development,.env.productionsecrets.json,config.json(संवेदनशील कॉन्फ़िगरेशन फ़ाइलें)*.sqlite,*.sqlite3,*.db(SQLite डेटाबेस फ़ाइलें)dump.rdb(Redis डेटाबेस डंप)coverage/,*.lcov(कोड कवरेज रिपोर्ट्स).tox/,.pytest_cache/(Python परीक्षण फ़ाइलें)Git इंस्टॉल करना है? हमारा स्टेप-बाय-स्टेप गाइड फॉलो करें इस Git इंस्टॉलेशन ट्यूटोरियल में ताकि आप जल्दी सेटअप कर सकें।