मुख्य सामग्री पर जाएं

शुरुआती लोगों के लिए GitHub और Git ट्यूटोरियल

एक शुरुआती ट्यूटोरियल जो बताता है कि Git वर्शन कंट्रोल कैसे काम करता है और डेटा साइंस प्रोजेक्ट्स के लिए यह क्यों महत्वपूर्ण है।
अद्यतन 22 जुल॰ 2026  · 9 मि॰ पढ़ना

AI के साथ खोजें

ChatGPT में खोलेंClaude में खोलेंPerplexity में खोलें

Image by Author

Git क्या है?

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

Git कैसे काम करता है?

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

A graph of the development history

डेवलपमेंट इतिहास का ग्राफ

ब्रांचेज़

ब्रांचेज़ सोर्स कोड की कॉपियां होती हैं जो मुख्य वर्ज़न के समानांतर काम करती हैं। किए गए बदलावों को सेव करने के लिए, ब्रांच को मुख्य वर्ज़न में मर्ज करें। यह सुविधा बिना टकराव (कॉनफ़्लिक्ट) वाले टीमवर्क को बढ़ावा देती है। प्रत्येक डेवलपर का अपना कार्य होता है, और ब्रांचेज़ का उपयोग करके वे अन्य साथियों के हस्तक्षेप के बिना नई फीचर पर काम कर सकते हैं। कार्य पूरा होने पर, आप नई फीचर्स को मुख्य वर्ज़न (मास्टर ब्रांच) में मर्ज कर सकते हैं। यदि आप सीखना चाहते हैं कि ब्रांच कैसे क्लोन करें, तो Git Clone Branch पर यह ट्यूटोरियल देखें।

Adding new feature to repository
रिपॉज़िटरी में नई फीचर जोड़ना 


कमिट्स

Git में फ़ाइलों की तीन अवस्थाएँ होती हैं: modified, staged और commit। जब आप किसी फ़ाइल में बदलाव करते हैं, तो बदलाव लोकल डायरेक्टरी में सेव होते हैं। ये Git की डेवलपमेंट हिस्ट्री का हिस्सा नहीं होते। एक कमिट बनाने के लिए, आपको पहले बदली हुई फ़ाइलों को स्टेज करना होता है। आप स्टेजिंग एरिया में बदलाव जोड़ या हटा सकते हैं और फिर इन बदलावों को एक संदेश के साथ कमिट के रूप में पैकेज कर सकते हैं जो बदलावों का वर्णन करता है।  

Three states of files in Git
Git में फ़ाइलों की तीन अवस्थाएँ

Git के क्या लाभ हैं?

  • बदलाव ट्रैक करें: यह डेवलपर्स को ऐतिहासिक बदलाव देखने देता है। डेवलपमेंट हिस्ट्री बग्स की पहचान और उन्हें ठीक करना आसान बनाती है।
  • IDE एकीकरण: लोकप्रियता के कारण, Git इंटीग्रेशन सभी डेवलपमेंट एनवायरनमेंट्स में उपलब्ध है, जैसे VSCode और JupyterLab।
  • टीम सहयोग: डेवलपर टीम अपनी प्रगति देख सकती है, और ब्रांचेज़ का उपयोग करके वे किसी कार्य पर व्यक्तिगत रूप से काम कर सकते हैं तथा बदलावों को मुख्य वर्ज़न में मर्ज कर सकते हैं। पुल रिक्वेस्ट, मर्ज कॉन्फ्लिक्ट्स का समाधान और कोड रिव्यू टीम सहयोग को बढ़ावा देते हैं। 
  • वितरित VSC: वितरित सिस्टम में कोई केंद्रीकृत फ़ाइल स्टोरेज नहीं होता। एक ही प्रोजेक्ट के कई बैकअप होते हैं। यह तरीका डेवलपर्स को ऑफ़लाइन काम करने और बदलाव कमिट करने की अनुमति देता है। 

डेटा साइंस प्रोजेक्ट्स के लिए Git

Git स्क्रिप्ट्स, मेट्रिक्स, डेटा और मॉडलों के लिए वर्शन कंट्रोल प्रदान करता है। Git एक्सटेंशन git-lfs का उपयोग करके, आप बड़े डेटाबेस और मशीन लर्निंग मॉडल स्टोर और वर्शन कर सकते हैं। एक सामान्य डेटा साइंस प्रोजेक्ट में आपके पास Jupyter नोटबुक, डेटासेट, मॉडल, मेटाडेटा और मॉडल मेट्रिक्स होते हैं। मेटाडेटा में मशीन लर्निंग मॉडल, फीचर्स, मॉडल पैरामीटर्स और ऑटोमेशन फ़ाइलों के बारे में मेटा‑इन्फ़ॉर्मेशन वाली फ़ाइलें शामिल होती हैं। ये सभी AI एप्लिकेशन्स की प्रगति मॉनिटर करने और समस्याएँ सुलझाने के लिए ज़रूरी हैं। 

डेटा साइंस प्रयोगों को ट्रैक करना वैज्ञानिकों की मदद करता है कि वे आकस्मिक बदलावों को रिवर्ट कर सकें, प्रदर्शन मेट्रिक के आधार पर सर्वश्रेष्ठ प्रयोग चुन सकें और अन्य साथियों के साथ सहयोग कर सकें। नीचे दिया आरेख दिखाता है कि डेटा या कोड में बदलाव कैसे मेटाडेटा और मॉडल के आउटपुट को प्रभावित करते हैं। इन बदलावों को ट्रैक करना अन्य साथियों को बेहतर समाधान निकालने में भी मदद कर सकता है। Summer Worsley के नवीनतम ब्लॉग में Git के बारे में सब कुछ जानें।

Git for a Data Science Project
डेटा साइंस प्रोजेक्ट के लिए Git 

GitHub के साथ सहयोग

GitHub एक क्लाउड सॉफ्टवेयर डेवलपमेंट प्लेटफ़ॉर्म है। इसका आमतौर पर फ़ाइलें सेव करने, बदलाव ट्रैक करने और डेवलपमेंट प्रोजेक्ट्स पर सहयोग करने के लिए उपयोग किया जाता है। हाल के वर्षों में, GitHub सॉफ्टवेयर डेवलपमेंट समुदायों के लिए सबसे लोकप्रिय सामाजिक प्लेटफ़ॉर्म बन गया है। व्यक्ति ओपन‑सोर्स प्रोजेक्ट्स और बग रिपोर्ट्स में योगदान दे सकते हैं, नए प्रोजेक्ट्स पर चर्चा कर सकते हैं और नए टूल्स खोज सकते हैं। 

डेटा साइंटिस्ट्स और मशीन लर्निंग इंजीनियर्स सॉफ्टवेयर डेवलपर्स के रास्ते पर चल रहे हैं और GitHub के साथ अपने वर्कफ़्लो को इंटीग्रेट कर रहे हैं। ऐसा करके, वे अपना शोध कार्य साझा कर सकते हैं, सामुदायिक योगदान की अनुमति दे सकते हैं और डेटा टीमों के साथ सहयोग कर सकते हैं। आप इस प्लेटफ़ॉर्म पर हर तरह के डेटा साइंस और मशीन लर्निंग प्रोजेक्ट्स, गाइड्स, ट्यूटोरियल्स और संसाधन पा सकते हैं। छात्रों के लिए, यह प्लेटफ़ॉर्म कार्य अनुभव हासिल करने और अंततः किसी प्रतिष्ठित कंपनी में नौकरी पाने का अवसर बन गया है। 

पोर्टफ़ोलियो

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

GitHub Profile
GitHub प्रोफ़ाइल

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

Portfolio Projects
पोर्टफ़ोलियो प्रोजेक्ट्स

फ़ीचर्स

GitHub कई अन्य फीचर्स भी प्रदान करता है जो पोर्टफ़ोलियो दिखाने जितने ही महत्वपूर्ण हैं। प्रत्येक फीचर के बारे में सीखना ज़रूरी है ताकि आप उन्हें अपने डेटा साइंस प्रोजेक्ट्स में शामिल कर सकें। 

  • ओपन‑सोर्स: GitHub ओपन‑सोर्स प्रोजेक्ट्स के लिए पूरा इकोसिस्टम प्रदान करता है। आप मेंटेनर्स को स्पॉन्सर कर सकते हैं, किसी प्रोजेक्ट में योगदान कर सकते हैं, अपने मौजूदा प्रोजेक्ट में ओपन‑सोर्स टूल का उपयोग कर सकते हैं और अपने कार्य को बढ़ावा दे सकते हैं। 
  • समुदाय सहयोग: GitHub एक समुदाय प्लेटफ़ॉर्म बन गया है जहाँ इश्यूज़, फीचर रिक्वेस्ट्स, कोड और डॉक्यूमेंटेशन योगदान पर चर्चा हो सकती है। 
  • Explore: GitHub का Explore टैब आपको नए प्रोजेक्ट्स, ट्रेंडिंग टूल्स और डेवलपर इवेंट्स खोजने में मदद करता है। 
  • GitHub Gists: आप अपने कोड का स्निपेट साझा कर सकते हैं या उसे ब्लॉग या वेबसाइट में एम्बेड कर सकते हैं। 
  • GitHub CLI: यह आपको कमांड‑लाइन प्रोग्राम से मर्ज रिक्वेस्ट करना, कोड रिव्यू करना, इश्यूज़ देखना और प्रगति मॉनिटर करने देता है। 
  • फ्री स्टोरेज: अनलिमिटेड प्राइवेट और पब्लिक रिपॉज़िटरी स्टोरेज।
  • वेब होस्टिंग: आप अपना पोर्टफ़ोलियो साइट या डॉक्यूमेंटेशन पब्लिश कर सकते हैं। GitHub Pages वेबसाइट को आसानी से बनाना और डिप्लॉय करना संभव बनाती हैं। 
  • Codespace: आपका GitHub रिपॉज़िटरी से इंटीग्रेटेड क्लाउड डेवलपमेंट एनवायरनमेंट। 
  • Project: GitHub पर कार्य की योजना और ट्रैकिंग के लिए कस्टमाइज़ेबल, लचीला टूल।
  • Automation: GitHub Action डेवलपमेंट वर्कफ़्लो जैसे build, test, publish, release और deployment को ऑटोमेट करता है।
  • Sponsor: आप अपने पसंदीदा ओपन‑सोर्स प्रोजेक्ट या डेवलपर्स को मासिक या एक बार का शुल्क देकर सपोर्ट कर सकते हैं। यह डेवलपर्स को ko-fi जैसे थर्ड‑पार्टी पेमेंट प्लेटफ़ॉर्म्स का उपयोग करने की भी अनुमति देता है। 

बेसिक कमांड्स

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

  • git init लोकल डायरेक्टरी में Git रिपॉज़िटरी बनाता है।

  • git clone <remote-repo-address>: पूरी रिपॉज़िटरी को रिमोट सर्वर से लोकल डायरेक्टरी में कॉपी करें। आप लोकल रिपॉज़िटरीज़ भी कॉपी कर सकते हैं।

  • git add <file.txt>: एक फ़ाइल या एक से अधिक फ़ाइलें और फ़ोल्डर्स को स्टेजिंग एरिया में जोड़ें।

  • git commit –m “Message”: बदलावों का स्नैपशॉट बनाकर रिपॉज़िटरी में सेव करें। 

  • git config ईमेल, यूज़रनेम और फ़ाइल फ़ॉर्मेट जैसी यूज़र‑विशिष्ट कॉन्फ़िगरेशन सेट करने के लिए उपयोग करें। 

  • git status बदली हुई फ़ाइलों या वे फ़ाइलें जो अभी स्टेज और कमिट नहीं हुई हैं, उनकी सूची दिखाता है।  

  • git push <remote-name> <branch-name>: लोकल कमिट्स को रिपॉज़िटरी की रिमोट ब्रांच पर भेजें।  

  • git checkout -b <branch-name>: नई ब्रांच बनाता है और उस पर स्विच करता है।

  • git remote –v: सभी रिमोट रिपॉज़िटरी देखें।

  • git remote add <remote-name> <host-or-remoteURL>: लोकल रिपॉज़िटरी में रिमोट सर्वर जोड़ें। 

  • git branch –d <branch-name>: ब्रांच को डिलीट करें।

  • git pull merge कमिट्स को रिमोट रिपॉज़िटरी से लोकल डायरेक्टरी में लाता है। 

  • git merge <branch-name>: मर्ज कॉन्फ्लिक्ट्स सुलझाने के बाद यह कमांड चयनित ब्रांच को वर्तमान ब्रांच में मिला देती है।

  • git log वर्तमान ब्रांच के कमिट्स की विस्तृत सूची दिखाता है।

Complete Development with GitHub
GitHub के साथ संपूर्ण डेवलपमेंट

यदि आप और कमांड्स सीखने में रुचि रखते हैं, तो हमारा Git चीट शीट देखें। 

शुरुआत करना

इस सेक्शन में, हम किसी डेटा साइंस प्रोजेक्ट को ट्रैक करने के लिए Git और रिमोट सर्वर के रूप में GitHub का उपयोग करेंगे। हम सीखेंगे कि Git कैसे इंस्टॉल करें, GitHub से रिपॉज़िटरी कैसे बनाएं और क्लोन करें, मशीन लर्निंग प्रयोग कैसे चलाएँ, और Windows PowerShell 7 का उपयोग करके बदलाव (नोटबुक, मॉडल, डेटा) GitHub पर कैसे पुश करें।  

Git इंस्टॉल करना

Git सभी ऑपरेटिंग सिस्टम्स को सपोर्ट करता है। आप इसे कमांड‑लाइन टूल्स का उपयोग करके इंस्टॉल कर सकते हैं या सीधे सेटअप डाउनलोड करके इंस्टॉल कर सकते हैं। 

Linux

Debian/Ubuntu‑आधारित ऑपरेटिंग सिस्टम्स के लिए `apt-get install git` का उपयोग करें, और यदि आप कोई अन्य Linux‑आधारित सिस्टम उपयोग कर रहे हैं, तो इंस्टॉलेशन कमांड्स की पूरी सूची यहाँ देखें।

macOS

यदि आपने homebrew इंस्टॉल किया है, तो Git डाउनलोड और इंस्टॉल करने के लिए यह कमांड उपयोग करें: `brew install git`। आप बाइनरी इंस्टॉलर भी डाउनलोड कर के सेटअप चला सकते हैं।

Windows

Windows पर Git इंस्टॉल करना झंझट‑मुक्त है। बस डाउनलोड पेज पर जाएँ, अपने Windows वर्ज़न पर क्लिक करें, और सेटअप डाउनलोड करके इंस्टॉल करें। यदि आपके पास winget टूल है, तो PowerShell में winget install --id Git.Git -e --source winget टाइप करके इसे इंस्टॉल कर सकते हैं। 

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

git config --global user.name "your-user-name"
git config --global user.email "your@email.com"

Git कैसे इंस्टॉल करें, इस पर और विस्तृत जानकारी के लिए यहाँ क्लिक करें। 

प्रोजेक्ट इनिशियलाइज़ करना

यदि आपका GitHub अकाउंट है, तो + बटन पर क्लिक करें और नई रिपॉज़िटरी चुनें। इसके बाद, रिपॉज़िटरी का नाम टाइप करें और एक छोटा विवरण जोड़ें। यह एक खाली पब्लिक रिपॉज़िटरी बनाएगा। 

Creating project
प्रोजेक्ट बनाना

रिमोट रिपॉज़िटरीज़ को लोकल डायरेक्टरी में क्लोन करने के कई तरीके हैं, और GitHub क्लोन करने, रिमोट जोड़ने और Git प्रोजेक्ट इनिशियलाइज़ करने पर विस्तृत गाइड प्रदान करता है।  

GitHub Clone
GitHub क्लोन

हम HTTPS लिंक देकर आसानी से रिपॉज़िटरी क्लोन कर सकते हैं। सुनिश्चित करें कि आप कमांड प्रॉम्प्ट या PowerShell का उपयोग करके वर्किंग डायरेक्टरी में हैं। 

git clone https://github.com/kingabzpro/DataCamp-Git.git

>>> Cloning into 'DataCamp-Git'...
>>> warning: You appear to have cloned an empty repository.

cd .\DataCamp-Git\

या

“DataCamp-Git” नाम की नई डायरेक्टरी बनाएं और एक सरल कमांड का उपयोग करके Git इनिशियलाइज़ करें। इसके बाद, रिमोट रिपॉज़िटरी का कनेक्शन जोड़ें ताकि आप अपना काम GitHub के साथ सिंक कर सकें।

mkdir DataCamp-Git
cd .\DataCamp-Git
git init

>>> Initialized empty Git repository in C:/Repository/GitHub/DataCamp-Git/.git/

git remote add origin https://github.com/kingabzpro/DataCamp-Git.git

या

यदि आपके पास पहले से किसी डायरेक्टरी में प्रोजेक्ट मौजूद है, तो सिर्फ `git init` का उपयोग करके Git इनिशियलाइज़ करें और ऊपर दिखाए अनुसार GitHub रिमोट जोड़ें। 

सरल कमिट

अपनी रिपॉज़िटरी में फ़ाइलें जोड़ने से पहले, सुनिश्चित करें कि आप सही लोकल डायरेक्टरी में हैं। 

हम सरल शुरुआत करेंगे और DataCamp‑Git शीर्षक वाला एक README फ़ाइल बनाएंगे। फिर, `git add` का उपयोग करके इसे स्टेजिंग एरिया में जोड़ेंगे। 

echo "# DataCamp-Git" >> README.md
git add README.md

Git status दिखाता है कि हम मुख्य ब्रांच पर हैं और `README.md` फ़ाइल स्टेज हो चुकी है और कमिट के लिए तैयार है।  

git status

>>> On branch main
>>> No commits yet
>>> Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

अपना पहला कमिट बनाने के लिए, हम `git commit` को एक संदेश के साथ उपयोग करेंगे। जैसा कि हम देख सकते हैं, पहला कमिट ed9c886 हैश के तहत जोड़ा गया है।

git commit -m "first commit"

>>> [main (root-commit) ed9c886] first commit
>>> 1 file changed, 1 insertion(+)
>>> create mode 100644 README.md

प्रोजेक्ट फ़ाइलें जोड़ना

हम DataCamp वर्कस्पेस MasterCard Stock Price with LSTM and GRU का उपयोग करेंगे और फ़ाइलें डाउनलोड करेंगे। प्रोजेक्ट के लेखक ने डेटा को प्रीप्रोसेस किया है और LSTM तथा GRU मॉडलों पर टाइम सीरीज़ डेटा को ट्रेन किया है। Recurrent Neural Network Tutorial (RNN) पढ़कर प्रोजेक्ट के बारे में अधिक जानें।

मॉडल फ़ाइल सेव करने के लिए, हमने प्रोजेक्ट के Jupyter नोटबुक में एक नया कोड सेल जोड़ा है। नया स्क्रिप्ट “model” नाम की नई डायरेक्टरी बनाएगा और LSTM तथा GRU दोनों मॉडल सेव करेगा। 

!mkdir -p model
model_lstm.save('model/LSTM')
model_gru.save('model/GRU')

जैसा कि हम देख सकते हैं, Git रिपॉज़िटरी में CSV फ़ाइलों वाला एक data फ़ोल्डर है, model फ़ोल्डर में मॉडल के वेट्स और मेटाडेटा हैं। 

Git Data Folder

अब हम सभी फ़ाइलों को स्टेज करेंगे। आप प्रारंभिक कमांड के बाद कोई भी डायरेक्टरी, फ़ाइल या डेटा जोड़ सकते हैं। 

git add .\data .\model LSTM_GRU.ipynb RNN.png

या

यदि आप सभी फ़ाइलों को स्टेजिंग एरिया में जोड़ना चाहते हैं, तो डॉट का उपयोग करें। 

git add .

कमिट और पुश

हम सभी बदलावों को एक सरल संदेश के साथ कमिट करेंगे, और आउटपुट दिखाता है कि सभी नई फ़ाइलें create मोड में हैं। 

git commit -m "project files added"

>>> [main aa3e19a] project files added
>>>  10 files changed, 5020 insertions(+)
>>>  create mode 100644 LSTM_GRU.ipynb
>>>  create mode 100644 RNN.png
>>>  create mode 100644 data/Mastercard_stock_history.csv
>>>  create mode 100644 data/Mastercard_stock_info.csv
>>>  create mode 100644 model/GRU/saved_model.pb
>>>  create mode 100644 model/GRU/variables/variables.data-00000-of-00001
>>>  create mode 100644 model/GRU/variables/variables.index
>>>  create mode 100644 model/LSTM/saved_model.pb
>>>  create mode 100644 model/LSTM/variables/variables.data-00000-of-00001
create mode 100644 model/LSTM/variables/variables.index

GitHub रिमोट रिपॉज़िटरी के साथ सिंक करने के लिए रिमोट नेम और ब्रांच नेम की आवश्यकता होती है `git push <remote-name> <branch-name>`। यदि आपके पास केवल एक रिमोट और एक ब्रांच है, तो `git push` का उपयोग काम करेगा।  

`git push` के बाद पॉप‑अप विंडो क्रेडेंशियल्स माँगेगी, बस अपना GitHub यूज़रनेम या पासवर्ड जोड़ें। आप Personal access tokens भी जनरेट कर सकते हैं और पासवर्ड के बजाय उन्हें जोड़ सकते हैं। और जानने के लिए Git Push और Pull ट्यूटोरियल पढ़ें।

git push

>>> Enumerating objects: 21, done.
>>> Counting objects: 100% (21/21), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (19/19), done.
>>> Writing objects: 100% (21/21), 1.83 MiB | 1.59 MiB/s, done.
>>> Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), done.
>>> To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      main -> main

हम अपना GitHub रिपॉज़िटरी kingabzpro/DataCamp-Git चेक करने जा रहे हैं ताकि देखें कि क्या हमने बदलाव सफलतापूर्वक रिमोट पर पुश कर दिए हैं। GitHub रिपॉज़िटरी में सभी फ़ाइलें, डेटा और मॉडल मौजूद हैं।

Remote push to GitHub
GitHub पर रिमोट पुश

Git ब्रांचेज़

ब्रांचेज़ के साथ काम करने की सिफारिश की जाती है: उदाहरण के लिए, यदि आप प्रोजेक्ट डॉक्यूमेंटेशन पर काम करना चाहते हैं, तो git checkout या git branch का उपयोग करके एक documentation ब्रांच बनाएं। README फ़ाइल में बदलाव करें और जब आप बदलावों को अंतिम रूप दे दें, तो ब्रांच को बेस के साथ मर्ज करें। 

हमारे मामले में, हमने readme नाम की नई ब्रांच बनाई और उस पर स्विच किया।

git checkout -b readme

आइए README फ़ाइल को प्रोजेक्ट का विवरण जोड़कर और RNN DataCamp वर्कस्पेस तथा ट्यूटोरियल को लिंक करके एडिट करें। इसके बाद, हम बदलावों को स्टेज करेंगे और एक संदेश के साथ बदलावों का स्नैपशॉट सेव करेंगे।

git add README.md
git commit -m "project description and links to blog"

>>> [readme f3b8b9b] project description and links to blog
>>>  1 file changed, 8 insertions(+)

रिमोट रिपॉज़िटरी में readme ब्रांच नहीं है। नई ब्रांच बनाने और बदलाव पुश करने के लिए, हम “readme:readme” का उपयोग करेंगे। कमांड का आउटपुट दिखाता है कि नई ब्रांच बनाई गई है और लोकल तथा रिमोट दोनों `readme` ब्रांचेज़ सिंक हो चुकी हैं। 

git push origin readme:readme
>>> remote: Resolving deltas: 100% (1/1), completed with 1 local object.
>>> remote: Create a pull request for 'readme' on GitHub by visiting:
>>> remote:  https://github.com/kingabzpro/DataCamp-Git/pull/new/readme
>>> remote:
To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      readme -> readme

आप देख सकते हैं कि हमने README.md फ़ाइल के संशोधित संस्करण के साथ लोकल ब्रांच को सफलतापूर्वक GitHub पर पुश कर दिया है। 

Readme branch on GitHub
GitHub पर Readme ब्रांच

पुल रिक्वेस्ट

यह फ़ंक्शनलिटी संगठनों के लिए सामान्य है। उदाहरण के लिए, किसी सॉफ्टवेयर डेवलपर ने नई फीचर पर काम किया है और वह बदलावों को मुख्य रिमोट ब्रांच में मर्ज करना चाहता है। अब हम GitHub GUI का उपयोग करके पुल रिक्वेस्ट बनाएंगे, पुल रिक्वेस्ट बटन पर क्लिक करके। इसके बाद, readme ब्रांच चुनें जिसे हम बेस (main) के साथ मर्ज करना चाहते हैं। आप जो फीचर्स जोड़े गए हैं उनका विस्तृत विवरण टाइप कर सकते हैं और पुल रिक्वेस्ट बटन पर क्लिक कर सकते हैं। 

Pull request from readme to main branch
readme से main ब्रांच पर पुल रिक्वेस्ट

रिपॉज़िटरी का मेंटेनर आपके बदलावों की तुलना करेगा और सभी टेस्ट पास होने पर उन्हें मर्ज करेगा। हमारे मामले में, आप मेंटेनर हैं, इसलिए मुख्य ब्रांच के साथ बदलाव मिलाने के लिए मर्ज रिक्वेस्ट पर क्लिक करें। 

GitHub Merge Pull Request
GitHub पर मर्ज पुल रिक्वेस्ट

बधाई हो, हमने सफलतापूर्वक पुल रिक्वेस्ट बनाया और इसे मुख्य ब्रांच के साथ मर्ज कर दिया। आप मुख्य ब्रांच पर बदलाव यहाँ देख सकते हैं। 

यदि आप अपनी git रिपॉज़िटरी के भीतर सभी बदलाव देखना चाहते हैं, तो सिर्फ `git log` टाइप करें, और यह आपके प्रोजेक्ट के ऐतिहासिक बदलाव दिखाएगा। डेटा साइंस प्रोजेक्ट्स में बदलावों को लॉग करना महत्वपूर्ण है, और Git हमें सभी बदलाव—even बड़े डेटासेट्स—को ट्रैक करने में मदद करता है। 

History of Git Logs
Git लॉग्स का इतिहास

अंतिम विचार

GitOps डेटा एप्लिकेशन डेवलपमेंट के लिए महत्वपूर्ण हैं। वे हर तरह की IT नौकरियों के लिए एक आवश्यक कौशल बन गए हैं; यहाँ तक कि शैक्षणिक शोधकर्ता भी अपने प्रायोगिक कोड को व्यापक दर्शकों के साथ साझा करने के लिए उनका उपयोग कर रहे हैं। दूसरी ओर, GitHub सभी के लिए एक मुक्त सॉफ़्टवेयर डेवलपमेंट इकोसिस्टम प्रदान करके ओपन‑सोर्स प्रोजेक्ट्स को बढ़ावा देने में बड़ी भूमिका निभाता है। 

इस ट्यूटोरियल में, हमने Git और GitHub के बारे में सीखा और क्यों वे डेटा साइंस प्रोजेक्ट्स के लिए महत्वपूर्ण हैं। ट्यूटोरियल ने आपको बेसिक Git कमांड्स से भी परिचित कराया और यह व्यावहारिक अनुभव दिया कि डेटा, मॉडल और कोड में बदलावों को कैसे ट्रैक करें। यदि आप Git के बारे में अधिक सीखने में रुचि रखते हैं, तो DataCamp पर Introduction to Git कोर्स करें। आप GitHub Foundations प्रमाणन के महत्व और यह आपके करियर में कैसे मदद कर सकता है, इसके बारे में भी जान सकते हैं। 

Git से जुड़े सामान्य प्रश्न

Git क्या है?

एक ओपन‑सोर्स, वितरित वर्शन कंट्रोल सिस्टम। यह डेवलपर्स को किसी डेवलपमेंट प्रोजेक्ट में बदलावों को स्टोर करने, वर्शन करने और विज़ुअलाइज़ करने देता है। यह लचीली टीमवर्क और अनुकूलित वर्कफ़्लो को बढ़ावा देता है। 

Git का फुल फॉर्म क्या है?

यह कोई संक्षिप्त रूप (acronym) नहीं है। इसके निर्माता Linus Torvalds के अनुसार, “Git आपके मूड पर निर्भर करते हुए कुछ भी मतलब रख सकता है।” यह तीन यादृच्छिक अक्षरों का संयोजन है जिन्हें किसी भी UNIX कमांड में उपयोग नहीं किया जाता।  

मैं Git रिपॉज़िटरी कैसे क्लोन करूं?

सिर्फ टर्मिनल में `git clone <remote repository address>` टाइप करें। आप लोकल और रिमोट दोनों रिपॉज़िटरी क्लोन कर सकते हैं। यह SSH और HTTPS दोनों प्रोटोकॉल को सपोर्ट करता है।

Git में ब्रांच कैसे डिलीट करें?

लोकल ब्रांच हटाने के लिए `git branch -d <local_branch_name>` और रिमोट ब्रांच हटाने के लिए `git push <remote_name> -d <remote_branch_name>` का उपयोग करें।

Git में ब्रांच कैसे स्विच करें?

किसी मौजूदा ब्रांच पर स्विच करने के लिए `git checkout <branch name>` या नई ब्रांच बनाकर उस पर स्विच करने के लिए `git checkout -b <branch name>` का उपयोग करें।

मैं Git कैसे इंस्टॉल करूं?

Linux सिस्टम के लिए `apt-get install git` का उपयोग करें, और अन्य ऑपरेटिंग सिस्टम के लिए git-scm.com देखें।

क्या Git फ्री है?

हाँ, यह GPL-2.0 लाइसेंस के तहत फ्री और ओपन‑सोर्स है।

Git Bash क्या है?

यह Microsoft Windows के लिए एक एप्लिकेशन है जो Unix‑आधारित शेल यूटिलिटीज़ और अनुभव प्रदान करता है। 

Git में नई ब्रांच कैसे बनाएं?

टर्मिनल में `git branch <new-branch> <base-branch>` कमांड का उपयोग करें। नई ब्रांच बनाकर उस पर स्विच करने के लिए `git checkout -b <branch name>` का उपयोग करें।

git pull क्या करता है?

यह रिमोट सर्वर से रिपॉज़िटरी के लोकल वर्ज़न को अपडेट करता है, रिमोट रिपॉज़िटरी से सभी बदलाव कॉपी करता है और उन्हें लोकल डायरेक्टरी के साथ मर्ज करता है। इस प्रक्रिया में अक्सर मर्ज कॉन्फ्लिक्ट्स को सुलझाना पड़ता है। 

Git में किसी रिपो को कैसे फोर्क करें?

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

Git में ब्रांच का नाम कैसे बदलें?

लोकल रिपॉज़िटरी के लिए यह सरल है: `git branch -m <old-name> <new-name>` का उपयोग करें। रिमोट ब्रांच का नाम बदलने के लिए पहले पुरानी ब्रांच को `git push origin --delete <old-name>` से हटाएँ और फिर नई ब्रांच को पुश करें `git push -u origin <new_name>`।

Git रिपॉज़िटरी कैसे डिलीट करें?

आप लोकल फ़ोल्डर डिलीट कर सकते हैं या .git फ़ोल्डर को `rm -fr .git` से हटा सकते हैं। GitHub के लिए, रिपॉज़िटरी सेटिंग्स में जाएँ और पेज के अंत में डिलीट विकल्प मिलेगा।

Windows पर Git कैसे इंस्टॉल करें?

Windows सेटअप को साइट से डाउनलोड करें और सेटअप चलाएँ, जो Git Bash, Git CDM, और Git GUI इंस्टॉल करेगा।

Git में किसी कमिट को रिवर्ट कैसे करें?

`git revert <commit sha>` का उपयोग करें, जिसके लिए किसी पिछले कमिट का यूनिक हैश कोड चाहिए। आप `git revert HEAD~2` भी उपयोग कर सकते हैं, जिसका अर्थ है हेड से दो कमिट पीछे।   

विषय