कोर्स
क्या आपने कभी गलती से कोई फ़ाइल डिलीट कर दी है या अपना कोड ओवरराइट कर दिया है, और उसे वापस पाने का कोई तरीका नहीं मिला? वर्शन कंट्रोल के बिना, ऐसी गलतियाँ भारी पड़ सकती हैं। यहीं पर git init काम आता है—यह आपके प्रोजेक्ट फ़ोल्डर को Git रिपॉज़िटरी में बदल देता है, ताकि हर बदलाव ट्रैक हो सके और आवश्यकता पड़ने पर वापस लाया जा सके।
इस ट्यूटोरियल में, मैं आपको Git सेट अप करना सिखाऊँगा, अपने अनुभव से कुछ व्यक्तिगत सुझाव साझा करूँगा, और शुरुआत से ही एक मज़बूत वर्कफ़्लो बनाने में आपकी मदद करूँगा।
Git Init क्या है?
git init कमांड आपकी वर्शन कंट्रोल यात्रा की शुरुआत करता है। इसे चलाने पर Git आपके प्रोजेक्ट डायरेक्टरी के अंदर एक छिपा हुआ .git फ़ोल्डर बनाता है, जिसमें कॉन्फ़िगरेशन डेटा, कमिट हिस्ट्री, और आपके बदलावों को ट्रैक करने के लिए आवश्यक सभी मेटाडेटा संग्रहीत रहता है।
हर संशोधन दर्ज होने के साथ, आप निश्चिंत होकर ब्रांचिंग, मर्जिंग और सहयोग कर सकते हैं—यह जानते हुए कि आपके प्रोजेक्ट का पूरा इतिहास हमेशा एक कमांड की दूरी पर है।

चित्र: लेखक द्वारा
Git Init का उपयोग कैसे करें
एडवांस्ड विषयों पर जाने से पहले, व्यवहार में git init का उपयोग समझना ज़रूरी है।
git init का बुनियादी उपयोग
शुरू से एक नई Git रिपॉज़िटरी बनाने के लिए ये चरण अपनाएँ:
- अपना टर्मिनल खोलें: अपना पसंदीदा कमांड-लाइन इंटरफ़ेस लॉन्च करें।
- अपने प्रोजेक्ट डायरेक्टरी पर जाएँ:
cd /path/to/your/project
यह आपके वर्तमान फ़ोल्डर को उस फ़ोल्डर में बदल देता है जिसे आप ट्रैक करना चाहते हैं।
- रिपॉज़िटरी इनिशियलाइज़ करें:
git init
यह कमांड चलाने के बाद, एक छिपा हुआ .git फ़ोल्डर बन जाता है। यही फ़ोल्डर Git की सारी ट्रैकिंग जानकारी संग्रहीत करता है।
- रिपॉज़िटरी की स्थिति जाँचें:
git status
इस चरण पर, Git सेट अप है लेकिन किसी फ़ाइल को ट्रैक नहीं कर रहा।
मौजूदा प्रोजेक्ट के साथ रिपॉज़िटरी इनिशियलाइज़ करना
ऐसे प्रोजेक्ट जिन पर अभी वर्शन कंट्रोल नहीं है, आप Git इनिशियलाइज़ कर सकते हैं और इस तरह बदलाव ट्रैक करना शुरू कर सकते हैं:
- अपने प्रोजेक्ट डायरेक्टरी पर जाएँ:
cd /path/to/your/project
- प्रोजेक्ट को Git रिपॉज़िटरी में बदलें:
git init
जैसा पहले बताया, ऊपर दिया कमांड Git ट्रैकिंग सक्षम करने वाला छिपा .git फ़ोल्डर बनाता है।
- अपनी फ़ाइलें स्टेज करें: क्योंकि
git initफ़ाइलों को अपने-आप ट्रैक नहीं करता, इन्हें इस कमांड से जोड़ें:
git add .
- अपनी फ़ाइलें कमिट करें: प्रारंभिक स्नैपशॉट सहेजने के लिए यह चलाएँ:
git commit -m "Initial commit"
यह प्रक्रिया एक अनमैनेज्ड प्रोजेक्ट को पूर्ण वर्शन हिस्ट्री वाले प्रोजेक्ट में बदल देती है—जो नए विकास और सहयोग के लिए तैयार है।
Git कॉन्फ़िगर करना (यदि आवश्यक हो)
यदि आपको "Author Identity Unknown" त्रुटि मिलती है, तो इसका अर्थ है कि Git आपकी पहचान नहीं जानता। इसे ठीक करने के लिए अपनी यूज़र पहचान कॉन्फ़िगर करें:
- Git यूज़र जानकारी सेट करें:
git config --global user.email "your_email@example.com"
git config --global user.name "Your Name"
--global का उपयोग करने से ये सेटिंग्स आपकी मशीन की सभी रिपॉज़िटरी पर लागू होती हैं। इसे छोड़ देने पर पहचान केवल वर्तमान रिपॉज़िटरी के लिए सेट होगी।
- अपनी कॉन्फ़िगरेशन जाँचें:
git config --global user.email
git config --global user.name
- कमिट को दोबारा आज़माएँ:
git commit -m "First Commit"
जब मैंने पहली बार Git का उपयोग शुरू किया था, मुझे यह त्रुटि मिली थी—अपनी पहचान सेट करने से समस्या हल हो गई।
PowerShell में प्रारंभिक Git कमिट सफलतापूर्वक चला।
रिमोट रिपॉज़िटरी से कनेक्ट करना
एक बार जब आपने लोकली Git रिपॉज़िटरी इनिशियलाइज़ कर ली, तो आप उसे रिमोट रिपॉज़िटरी (जैसे GitHub, GitLab, Bitbucket) से जोड़कर बैकअप लेना या दूसरों के साथ सहयोग करना चाहेंगे।
- रिमोट रिपॉज़िटरी जोड़ें: अपनी लोकल रिपॉज़िटरी को रिमोट से लिंक करने के लिए यह उपयोग करें:
git remote add origin <repository-url>
<repository-url> को अपनी रिमोट रिपॉज़िटरी के URL से बदलें। origin रिमोट रिपॉज़िटरी के लिए डिफ़ॉल्ट उपनाम है, लेकिन आप कोई भी नाम दे सकते हैं।
- कनेक्शन की पुष्टि आप इससे कर सकते हैं:
git remote -v
- अपने बदलाव रिमोट रिपॉज़िटरी पर पुश करें:
# पहला कमिट पुश करें और रिमोट ब्रांच को ट्रैक करें
git push -u origin $(git branch --show-current) # 'main' या 'master' दोनों के लिए काम करता है
ऊपर दिया कमांड वर्तमान ब्रांच को पुश करता है और उसे रिमोट ब्रांच को ट्रैक करने के लिए सेट करता है।
यदि आप Git के किसी पुराने संस्करण का उपयोग कर रहे हैं जो $(git branch --show-current) सपोर्ट नहीं करता, तो यह उपयोग करें:
git push -u origin main # या आपके डिफ़ॉल्ट ब्रांच के अनुसार 'master'
जैसे-जैसे आप अपने प्रोजेक्ट पर काम जारी रखते हैं, टीम के साथ सहयोग करते समय आपको अलग-अलग ब्रांचों के बदलावों को मर्ज करने की आवश्यकता होगी। मर्ज को प्रभावी ढंग से संभालना सीखें इस Git merge ट्यूटोरियल के साथ।
प्रमाणीकरण और एक्सेस
यदि आप GitHub, GitLab, या Bitbucket पर पुश कर रहे हैं, तो आपको ऑथेंटिकेट करना पड़ सकता है। आपकी सेटअप के अनुसार, आप यह कर सकते हैं:
- HTTPS ऑथेंटिकेशन की बजाय SSH keys का उपयोग करें (सुरक्षा के लिए अनुशंसित):
git remote set-url origin git@github.com:your-username/your-repo.git
- HTTPS का उपयोग करते समय पासवर्ड के बजाय Personal Access Token (PAT) का प्रयोग करें। GitHub के लिए, पासवर्ड की जगह टोकन डालें:
git push https://your-username@github.com/your-repo.git
रिमोट रिपॉज़िटरी से कनेक्ट होना मेरे लिए एक अहम मोड़ था—इससे भरोसा हुआ कि मेरा लोकल काम सुरक्षित रूप से बैकअप है और सहयोग के लिए तैयार है। साथ ही, यह विश्वास भी मिला कि यदि मेरी लोकल मशीन फेल हो जाए, तो भी मेरा इतिहास सुरक्षित रहेगा।
Git Init के साथ एडवांस्ड विकल्प
जो लोग अपनी Git सेटअप को अनुकूलित करना चाहते हैं, उनके लिए एडवांस्ड विकल्प अतिरिक्त लचीलापन देते हैं।
बेयर रिपॉज़िटरी इनिशियलाइज़ करना
यदि आप ऐसा Git सर्वर सेट कर रहे हैं जहाँ डेवलपर्स अपने बदलाव पुश करेंगे लेकिन फ़ाइलों को सीधे एडिट नहीं करेंगे, तो आपको एक बेयर रिपॉज़िटरी की आवश्यकता होगी। बेयर रिपॉज़िटरी में वर्किंग डायरेक्टरी नहीं होती और केवल वर्शन कंट्रोल डेटा रहता है। यह आम तौर पर रिमोट रिपॉज़िटरी के लिए उपयोग होती है:
git init --bare <repository-name>
बेयर रिपॉज़िटरी अक्सर GitOps वर्कफ़्लोज़ में उपयोग होती हैं, जहाँ इन्फ्रास्ट्रक्चर और एप्लिकेशन डिप्लॉयमेंट Git के माध्यम से मैनेज किए जाते हैं। यदि आप जानना चाहते हैं कि GitOps सॉफ़्टवेयर डिलीवरी को कैसे स्वचालित और सुव्यवस्थित करता है, तो इस GitOps गाइड को देखें।
विशिष्ट कॉन्फ़िगरेशन के साथ इनिशियलाइज़ करना
यदि आपको शुरुआत से ही कस्टम Git hooks या कॉन्फ़िगरेशन फ़ाइलों की आवश्यकता है, तो कस्टम टेम्पलेट के साथ इनिशियलाइज़ करें:
git init --template=<template-directory>
मैंने एक बार आवश्यक hooks अपने-आप लोड करने के लिए कस्टम टेम्पलेट का उपयोग किया था, जिससे हमारी टीम की डिप्लॉयमेंट प्रक्रिया काफ़ी सुव्यवस्थित हुई।
Git Init के उपयोग के लिए सर्वश्रेष्ठ अभ्यास
सही शुरुआत करना आगे चलकर आपका समय और परेशानियाँ दोनों बचा सकता है।
अपने प्रोजेक्ट स्ट्रक्चर का आयोजन
git init चलाने से पहले, अपनी फ़ाइलों को तार्किक फ़ोल्डर संरचना में व्यवस्थित करें—कोड, दस्तावेज़ और एसेट्स को अलग रखें।
एक प्रोजेक्ट जो मुझे विरासत में मिला था, उसमें कई सब-प्रोजेक्ट्स की फ़ाइलें मिली-जुली थीं, जिससे मर्ज कॉन्फ्लिक्ट और भ्रम पैदा होते थे। सबकुछ स्पष्ट फ़ोल्डरों में दोबारा व्यवस्थित करके, रिपॉज़िटरी को पुनः इनिशियलाइज़ करके, और उचित .gitignore सेट करके, वर्कफ़्लो में जबरदस्त सुधार आया।
.gitignore फ़ाइल जल्दी जोड़ना
रिपॉज़िटरी इनिशियलाइज़ करने के तुरंत बाद, अनावश्यक फ़ाइलों को ट्रैक होने से रोकने के लिए .gitignore फ़ाइल बनाएँ:
touch .gitignore
फिर, इसमें इस तरह के नियम जोड़कर एडिट करें:
# डिपेंडेंसी फ़ोल्डर और लॉग फ़ाइलें इग्नोर करें
node_modules/
*.log
.DS_Store # macOS सिस्टम फ़ाइल
Thumbs.db # Windows सिस्टम फ़ाइल
इस कदम ने मुझे भारी-भरकम कमिट हिस्ट्री और संभावित भविष्य के कॉन्फ्लिक्ट्स से बचाया।
एक विस्तृत गाइड के लिए कि .gitignore फ़ाइल कैसे कॉन्फ़िगर करें, यह gitignore ट्यूटोरियल देखें।
अक्सर कमिट करना
छोटे-छोटे और बार-बार कमिट, स्पष्ट संदेशों के साथ, विस्तृत प्रोजेक्ट इतिहास बनाने में मदद करते हैं और डिबगिंग तथा सहयोग को सरल बनाते हैं।
सामान्य Git Init समस्याओं का समाधान
सही योजना के बाद भी समस्याएँ आ सकती हैं। यहाँ कुछ आम समस्याएँ और उनके समाधान दिए गए हैं।
गलत डायरेक्टरी में गलती से इनिशियलाइज़ करना
समस्या: आपने गलत फ़ोल्डर में git init चला दिया है और अब एक अनचाही Git रिपॉज़िटरी बन गई है।
समाधान:
- Git रिपॉज़िटरी हटाएँ:
rm -rf .git
> चेतावनी: यह उस रिपॉज़िटरी का सारा वर्शन इतिहास हटा देता है। यह कमांड चलाने से पहले सुनिश्चित करें कि आप सही फ़ोल्डर में हैं!
फिर, सही डायरेक्टरी में जाएँ और git init दोबारा चलाएँ।
मैंने यह गलती कुछ बार की है, इसलिए इसे टालने के लिए अपनी वर्किंग डायरेक्टरी दोबारा जाँचें।
अनट्रैक्ड फ़ाइलों से निपटना
समस्या: git init चलाने के बाद, Git आपकी फ़ाइलों को ट्रैक नहीं कर रहा। git status चलाने पर यह दिखता है:
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
समाधान:
- जाँचें कि फ़ाइलें सच में अनट्रैक्ड हैं या नहीं:
git status
यदि आपकी फ़ाइलें Untracked files के अंतर्गत दिखती हैं, तो Git उन्हें देख रहा है लेकिन अभी ट्रैक नहीं कर रहा।
- फिर, आवश्यक फ़ाइलों को इस कमांड से स्टेज करें:
git add <file-name>
- फ़ाइलें कमिट करें:
git commit -m "Initial commit"
नियमित रूप से स्टेटस जाँचते रहें ताकि कोई महत्वपूर्ण चीज़ न छूटे।
यदि git status कोई फ़ाइल नहीं दिखाता, तो जाँचें कि आपके प्रोजेक्ट में कोई .gitignore फ़ाइल तो नहीं है जो महत्वपूर्ण फ़ाइलों को एक्सक्लूड कर रही हो।
निष्कर्ष
git init में महारत हासिल करना एक भरोसेमंद वर्शन कंट्रोल सिस्टम बनाने की दिशा में पहला अहम कदम है, जो सहयोग और कुशल प्रोजेक्ट प्रबंधन को सशक्त बनाता है। इस गाइड का पालन करें—रिपॉज़िटरी इनिशियलाइज़ और ऑर्गनाइज़ करने से लेकर सामान्य समस्याओं के समाधान तक—ताकि आप एक सुचारु, कुशल वर्कफ़्लो सेट कर सकें।
छोटे से शुरू करें—git init का उपयोग करके एक टेस्ट प्रोजेक्ट इनिशियलाइज़ करें और स्टेजिंग, कमिटिंग, तथा पुशिंग के साथ प्रयोग करें। जितनी जल्दी आप Git की बुनियादों में निपुण होंगे, आपका वर्कफ़्लो उतना ही कुशल होगा! और यदि आप अपनी Git स्किल्स को और गहराई से सीखने के लिए उत्साहित हैं, तो ये DataCamp कोर्स देखें:
- Intermediate Git – उन्नत ब्रांचिंग, मर्जिंग, और कॉन्फ्लिक्ट रेज़ॉल्यूशन तकनीकों के साथ अपनी स्किल्स बढ़ाएँ।
- GitHub Foundations – सहयोगी प्रोजेक्ट्स के लिए Git को GitHub के साथ सहजता से इंटीग्रेट करना सीखें।
हैप्पी कोडिंग—और Git का उपयोग करके भरोसेमंद, नवोन्मेषी प्रोजेक्ट्स बनाने की ओर!
FAQs
यदि मैंने गलत फ़ोल्डर में git init चला दिया हो, तो उसे कैसे पूर्ववत करूँ?
छिपे हुए .git फ़ोल्डर को यह कमांड चलाकर हटाएँ: rm -rf .git (Unix-आधारित सिस्टम पर) या Windows पर इसे मैन्युअली डिलीट करें। फिर, सही डायरेक्टरी में जाएँ और git init दोबारा चलाएँ।
git init और git clone में क्या अंतर है?
git init एक नई, खाली रिपॉज़िटरी बनाता है (या मौजूदा प्रोजेक्ट में वर्शन कंट्रोल जोड़ता है), जबकि git clone किसी मौजूदा रिमोट रिपॉज़िटरी को उसकी पूरी हिस्ट्री सहित कॉपी करता है।
मैं कैसे जाँचूँ कि कोई डायरेक्टरी पहले से Git रिपॉज़िटरी है या नहीं?
उस डायरेक्टरी में अपना टर्मिनल खोलें और यह चलाएँ: git rev-parse --is-inside-work-tree
यदि यह “true” लौटाता है, तो आपकी डायरेक्टरी Git वर्शन कंट्रोल के अंतर्गत है।
.git फ़ोल्डर छिपा क्यों होता है, और मैं इसे कैसे देख सकता/सकती हूँ?
Git आपके प्रोजेक्ट की वर्शन हिस्ट्री की सुरक्षा के लिए .git फ़ोल्डर को छिपा देता है। इसे देखने के लिए, अपने फ़ाइल एक्सप्लोरर में hidden files सक्षम करें या यह चलाएँ:
ls -a # Mac/Linux पर
dir /A:H # Windows परgit init के तुरंत बाद किन आम गलतियों से बचना चाहिए?
आम गलतियों में उचित .gitignore न जोड़ना, git add के साथ स्टेजिंग चरण छोड़ देना, और बिना स्पष्ट संदेशों के कमिट करना शामिल हैं। आगे बढ़ने से पहले हमेशा git status से अपनी रिपॉज़िटरी की स्थिति जाँचें।
मौजूदा रिपॉज़िटरी की किसी सबडायरेक्टरी में Git कैसे इनिशियलाइज़ करूँ?
यदि आपको किसी Git रिपॉज़िटरी के अंदर किसी सबप्रोजेक्ट को अलग से ट्रैक करना हो, तो किसी सबडायरेक्टरी में git init चलाने के बजाय Git सबमॉड्यूल्स का उपयोग करें।
git submodule add <repository-url> subdirectory-name
इससे सबडायरेक्टरी अलग से मैनेज हो सकेगी, जबकि वह पैरेंट रिपॉज़िटरी से जुड़ी भी रहेगी।
मैं एक डेटा इंजीनियर और कम्युनिटी बिल्डर हूँ, जो डेटा पाइपलाइनों, क्लाउड, और AI टूलिंग के साथ काम करता/करती हूँ, साथ ही DataCamp और उभरते डेवलपर्स के लिए व्यावहारिक, असरदार ट्यूटोरियल लिखता/लिखती हूँ।

