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

उदाहरणों सहित शीर्ष 20 Git कमांड: एक व्यावहारिक गाइड

यह गाइड सबसे आवश्यक Git कमांड को उदाहरणों के साथ कवर करता है ताकि आप अधिक कुशलता से काम कर सकें!
अपडेट किया गया 25 सित॰ 2026  · 15 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

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

इस लेख में, मैं आपको सबसे ज़्यादा इस्तेमाल होने वाले Git कमांड, उनका सिंटैक्स, और उन्हें अपने दैनिक काम में कैसे लागू करें—यह सब समझाऊंगा!

बेसिक Git कमांड

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

Git इंस्टॉल करनी है? अपने सिस्टम पर Git इंस्टॉल करने के लिए इस गाइड का पालन करें।

git init

git init कमांड एक नई Git रिपॉज़िटरी बनाता है या किसी मौजूदा को फिर से इनिशियलाइज़ करता है।  

जब आप यह कमांड चलाते हैं, तो आपकी वर्तमान डायरेक्टरी एक Git रिपॉज़िटरी बन जाती है, जिससे आप उसके बदलाव ट्रैक कर सकते हैं। यह डायरेक्टरी में एक हिडन .git फ़ोल्डर जोड़ता है, जहाँ Git प्रोजेक्ट से संबंधित सभी मेटाडेटा, वर्शन हिस्ट्री, और लॉग्स स्टोर करता है।

git clone

किसी Git रिपॉज़िटरी को एक स्थान से दूसरे स्थान पर कॉपी करने के लिए हम git clone कमांड का इस्तेमाल करते हैं। यह आम तौर पर किसी मौजूदा रिपॉज़िटरी—उसके लॉग्स और वर्ज़न सहित—को GitHub या GitLab जैसे रिमोट सर्वर से आपकी लोकल मशीन पर कॉपी करता है। 

चरण 1: उस GitHub रिपॉज़िटरी पर जाएँ जिसे आप क्लोन करना चाहते हैं और “Code” पर क्लिक करें।

git clone command

git clone कमांड

चरण 2: चित्र में दिखाए अनुसार URL कॉपी करें। 

git clone basic command

git clone बेसिक कमांड

चरण 3: लोकल मशीन में जिस डायरेक्टरी में आप इस रिपॉज़िटरी को क्लोन करना चाहते हैं, वहाँ जाएँ और निम्न कमांड चलाएँ: 

git clone <copied_URL>

git status

git status कमांड हमें निम्न के बारे में जानकारी दिखाता है: 

  • modified files (वे फ़ाइलें जिनमें बदलाव हुए हैं लेकिन स्टेज नहीं हुई हैं)।
  • untracked files (वे फ़ाइलें जिन्हें Git ट्रैक नहीं कर रहा)।
  • staged files (वे फ़ाइलें जो स्टेज हो चुकी हैं और कमिट के लिए तैयार हैं)। 

सिंटैक्स इस प्रकार है:

git status 

 Git status command

Git status कमांड

git add

git add कमांड आपके बदलावों को स्टेजिंग एरिया में जोड़ता है। यह Git को बताता है कि जब यूज़र कमिट कमांड चलाएगा तो रिपॉज़िटरी में इन बदलावों को अपडेट किया जाना चाहिए।

  • git add . : सभी फ़ाइलों में किए गए बदलावों को स्टेज करता है। 
  • git add <file_name>: केवल किसी विशिष्ट फ़ाइल में किए गए बदलावों को स्टेजिंग एरिया में शामिल करता है।

git commit

git commit कमांड आपके द्वारा किए गए (या स्टेज किए गए) बदलावों को लोकल रिपॉज़िटरी में सेव करता है। हर बार जब आप git commit चलाते हैं, Git उस समय आपकी रिपॉज़िटरी का एक स्नैपशॉट बनाता है। इससे ज़रूरत पड़ने पर आप किसी पिछले कमिट पर वापस जा सकते हैं।

सिंटैक्स इस प्रकार है:

git commit -m "commit_message"

कमिट संदेश उस कमिट में किए गए बदलावों का संक्षिप्त विवरण होता है।

रिमोट रिपॉज़िटरी के साथ काम करना

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

जानना चाहते हैं कि GitHub कैसे काम करता है? रिपॉज़िटरी, पुल रिक्वेस्ट और सहयोग की सर्वोत्तम प्रक्रियाएँ समझने के लिए Introduction to GitHub Concepts से शुरुआत करें।

git remote add

git remote add कमांड आपकी लोकल Git रिपॉज़िटरी और रिमोट Git रिपॉज़िटरी के बीच एक कनेक्शन बनाता है, जिससे आप उनके बीच बदलावों को पुश और पुल कर सकते हैं:

git remote add <repo_name> <remote_url>
  • <repo_name>: रिमोट रिपॉज़िटरी का एक उपनाम (डिफ़ॉल्ट रूप से “origin”)।
  • <remote_url>: रिमोट रिपॉज़िटरी का URL।

git push

git push कमांड आपकी रिमोट रिपॉज़िटरी को लोकल रिपॉज़िटरी के साथ सिंक करता है। इस कमांड को चलाने के बाद, रिमोट रिपॉज़िटरी में आपके लोकल रूप से कमिट किए गए सभी बदलाव दिखाई देंगे।

git push <remote> <branch>
  • <remote>: रिमोट रिपॉज़िटरी का एलियस (डिफ़ॉल्ट रूप से “origin”)।
  • <brach>: उस ब्रांच का नाम जिसे आप पुश करना चाहते हैं।

git push के कुछ वैरिएंट भी हैं, उदाहरण के लिए:

git push ---all origin

ऊपर दिया कमांड आपकी सभी लोकल ब्रांचों को रिमोट रिपॉज़िटरी पर पुश करता है।

git push --force origin main

ऊपर दिया कमांड रिमोट रिपॉज़िटरी पर main ब्रांच को आपकी लोकल main ब्रांच से ओवरराइट कर देता है। इसका उपयोग करते समय सावधानी बरतें, क्योंकि रिमोट main ब्रांच अपना सारा इतिहास खो सकती है। 

git pull

git pull कमांड रिमोट रिपॉज़िटरी के बदलावों को लाकर उन्हें लोकल रिपॉज़िटरी के साथ मर्ज कर देता है। 

git pull वास्तव में दो कमांड का संयोजन है: git fetch और git merge। 

पहले, git fetch रिमोट रिपॉज़िटरी से सभी बदलाव—नई कमिट, टैग, और ब्रांचें—प्राप्त करता है। उसके बाद, git merge उन बदलावों को वर्तमान लोकल ब्रांच में एकीकृत करता है। 

सिंटैक्स इस प्रकार है:

git pull origin feature-branch

ऊपर दिया कमांड रिमोट रिपॉज़िटरी की feature_branch से डेटा लाता है और उसे आपकी वर्तमान लोकल ब्रांच में मर्ज कर देता है। 

git fetch

git fetch कमांड आपको रिमोट रिपॉज़िटरी के बदलावों की समीक्षा करने देता है, उन्हें लोकल में मर्ज करने से पहले। यह बदलावों को डाउनलोड करता है और उन्हें रिमोट ट्रैकिंग ब्रांचों में अपडेट करता है। जिनके लिए नया है: रिमोट ट्रैकिंग ब्रांचें, रिमोट रिपॉज़िटरी ब्रांचों की कॉपी होती हैं। 

उदाहरण के लिए, निम्न कमांड रिमोट रिपॉज़िटरी के बदलावों को डाउनलोड करके origin के अंतर्गत रिमोट ट्रैकिंग ब्रांचों में अपडेट करता है:

git fetch origin

Git में ब्रांचिंग और मर्जिंग

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

git branch

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

यदि आप अपने एप्लिकेशन के लिए कोई नया फीचर विकसित कर रहे हैं, तो आप एक नई ब्रांच बना सकते हैं और उस पर काम कर सकते हैं।जब बदलाव तैयार और परीक्षण हो जाएँ, तो आप इस नई ब्रांच को मुख्य ब्रांच में मर्ज कर सकते हैं। इससे आप नई फीचर्स पर स्वतंत्र रूप से काम कर पाते हैं, बिना मुख्य लाइन को सीधे प्रभावित किए। 

  • git branch: रिपॉज़िटरी में मौजूद सभी ब्रांचों की सूची देता है।
  • git branch <branch_name>: “branch_name” नाम की नई ब्रांच बनाता है।
  • git branch -d <branch_name>: “branch_name” नाम की ब्रांच हटाता है।

git checkout

git checkout कमांड दो काम कर सकता है: ब्रांचों के बीच स्विच करना या फ़ाइलों को पिछली स्थिति में रिस्टोर करना। 

  • ब्रांच स्विच करना: Git 2.23 से पहले, git checkout branch_name कमांड का उपयोग आपकी वर्तमान ब्रांच से किसी दूसरी ब्रांच में स्विच करने के लिए किया जाता था। यह केवल मौजूदा ब्रांचों में स्विच करने के लिए ही नहीं था; आप एक नई ब्रांच बनाकर उसी पर स्विच भी कर सकते हैं।

निम्न कमांड “feature_branch” नाम की नई ब्रांच बनाता है और उसी पर स्विच कर देता है:

git checkout -b feature_branch

हालाँकि, Git के नवीनतम संस्करण में, फ़ाइलों को रिस्टोर करने के लिए git checkout की जगह git switch को प्राथमिकता दी गई है। 

  • फ़ाइलें रिस्टोर करना: आप किसी फ़ाइल में किए गए बदलावों को त्यागकर उसे उसकी पिछली वर्ज़न में रिस्टोर कर सकते हैं, निम्न कमांड से।
git checkout -- <file-name>

आप यह किसी दूसरी ब्रांच की फ़ाइल के साथ भी कर सकते हैं, इस प्रकार:

git checkout <branch-name> -- <file-name>

git merge

यदि आपने किसी नई ब्रांच में काम किया है, तो बदलाव लागू करने के लिए आप git merge का उपयोग करके उसे मुख्य ब्रांच में मर्ज कर सकते हैं। Git दो तरीकों से मर्ज करता है:

  • फास्ट-फ़ॉरवर्ड मर्ज: मान लीजिए आपने मुख्य ब्रांच से “feature_x” नाम की नई ब्रांच बनाई और उस पर काम किया। यदि “feature_x” बनाने के बाद मुख्य ब्रांच में कोई अपडेट नहीं हुआ है, तो “feature_x” के बदलावों को मुख्य ब्रांच में कमिट करने के बजाय Git मुख्य ब्रांच को “feature_x” के नवीनतम संस्करण की ओर इंगित कर देता है। इस स्थिति में कोई नया मर्ज कमिट नहीं बनता। 
  • थ्री-वे मर्ज: यदि “feature_x” और मुख्य ब्रांच—दोनों में संपादन हुए हैं, तो Git बदलावों को मिलाकर मुख्य ब्रांच पर एक नया मर्ज कमिट बनाता है। 

उदाहरण के लिए: 

      C---D---F (feature-branch)
     /
A---B---E---G (main)

कमिट B पर, फीचर ब्रांच C बनाई जाती है। फीचर ब्रांच बनने के बाद भी मुख्य ब्रांच में अतिरिक्त कमिट E और G हैं। इसलिए, फीचर को मुख्य में मर्ज किया जाता है, जिससे एक नया मर्ज कमिट M बनता है, इस प्रकार:

      C---D---F (feature-branch)
     /         \         
A---B---E---G---M (main)

git rebase

git rebase ब्रांचों के बीच बदलावों को एकीकृत करने का एक और तरीका है, लेकिन यह git merge से अलग तरह से काम करता है। मर्ज मुख्य और फीचर ब्रांच—दोनों का पूरा इतिहास सुरक्षित रखता है। वहीं, रीबेस कमिट हिस्ट्री को ओवरराइट करके उसे रैखिक और साफ़ बनाता है।

इसके अलावा, मर्ज में एक अतिरिक्त मर्ज कमिट की आवश्यकता होती है, जबकि रीबेस कोई नया कमिट नहीं बनाता। Git rebase दो चरणों में काम करता है: 

  1. फीचर ब्रांच पर स्विच करें 
  2. मुख्य ब्रांच पर रीबेस करें।

उदाहरण:

      C---D---F (feature-branch)
     /
A---B---E---G (main)
  • चरण 1: git checkout feature_branch चलाएँ।
  • चरण 2: git rebase main चलाएँ: फीचर ब्रांच के पूरे काम को मुख्य ब्रांच पर ले जाना, यानी कमिट C, D, F को C’, D’, और F’ के रूप में मुख्य ब्रांच के नवीनतम कमिट G के ऊपर दोबारा लागू करना। इससे निम्न की तरह एक रैखिक हिस्ट्री बनती है:
A---B---E---G---C'---D'---F' (main)

क्योंकि मर्ज और रीबेस ऑपरेशन अक्सर भ्रमित कर देते हैं, यहाँ उनके बीच के अंतर का संक्षेप दिया गया है:

मर्ज 

रीबेस

यह दोनों ब्रांचों की पूरी कमिट हिस्ट्री सुरक्षित रखता है।

यह कमिट हिस्ट्री को रैखिक बनाने के लिए ओवरराइट करता है।

एक अतिरिक्त मर्ज कमिट बनता है।

कोई अतिरिक्त कमिट नहीं बनता।

हिस्ट्री में ब्रांच संरचना दिखाई देती है।

यह कमिट हिस्ट्री को सीधी रेखा जैसा दिखाता है।

इसे तब उपयोग करें जब आप प्रत्येक ब्रांच की कमिट हिस्ट्री और उनके मर्ज होने की टाइमलाइन ट्रैक रखना चाहते हों।

इसे तब उपयोग करें जब आपको स्पष्ट और आसानी से समझ में आने वाली कमिट हिस्ट्री चाहिए। 

रिमोट ब्रांचों के साथ और सीखना चाहते हैं? इस स्टेप-बाय-स्टेप ट्यूटोरियल में git checkout का उपयोग करके रिमोट ब्रांचों को कैसे चेकआउट और ट्रैक करें, जानें।

Git हिस्ट्री और बदलावों को पूर्ववत करना

Git विकास के विभिन्न चरणों में हिस्ट्री देखने और बदलावों को पूर्ववत करने के लिए कई कमांड प्रदान करता है। प्रासंगिक कमांड यहाँ चर्चा की गई हैं। 

git log

git log कमांड आपकी वर्तमान ब्रांच की पूरी कमिट हिस्ट्री दिखाता है। इसमें चार मुख्य फ़ील्ड होते हैं: कमिट, लेखक, दिनांक, और कमिट संदेश। 

git commit history

git कमिट हिस्ट्री

  • Commit: एक यूनिक ID।
  • Author: व्यक्ति का नाम और ईमेल।
  • Date: वह टाइमस्टैम्प जब बदलाव कमिट किया गया।
  • Commit message: कमिट का विवरण। 

git diff

git diff आपकी रिपॉज़िटरी की विभिन्न अवस्थाओं के बीच अंतर दिखाता है—चाहे आप अपनी वर्तमान डायरेक्टरी की तुलना स्टेजिंग एरिया से कर रहे हों, स्टेजिंग एरिया की तुलना पिछले कमिट से, या दो फ़ाइलों या ब्रांचों की—जो भी आप निर्दिष्ट करें।

  • git diff - आपकी वर्तमान वर्किंग डायरेक्टरी और स्टेजिंग एरिया के बीच का अंतर दिखाता है। 
  • git diff -- cached: स्टेजिंग एरिया और पिछले कमिट के बीच के अंतर दिखाता है।
  • git diff commit1 commit2 - commit 1 और commit 2 के बीच का अंतर।
  • git diff branch1..branch2 - branch 1 और branch 2 के बीच के अंतर की तुलना करता है।

git reset

git reset कमांड आपको वर्तमान HEAD को किसी विशिष्ट पूर्व स्थिति पर रीसेट करके बदलावों को पूर्ववत करने देता है। HEAD को किसी पिछले कमिट पर ले जाने के लिए आपके पास तीन वैरिएंट हैं: “soft”, “mixed”, और “hard”, जिन्हें आप reset कमांड के साथ उपयोग कर सकते हैं। 

  • Soft: पिछले कमिट पर वापस जाता है लेकिन मौजूदा बदलावों को स्टेज पर रखता है, ताकि आवश्यकता होने पर आप उन्हें बाद में दोबारा कमिट कर सकें। 

git reset --soft HEAD~1

  • Mixed: पिछले कमिट पर लौटता है और वर्तमान कमिट के बदलावों को स्टेज एरिया से हटा देता है। हालाँकि, ये बदलाव आपकी वर्किंग डायरेक्टरी में बने रहते हैं।

git reset --mixed HEAD~1

  • Hard: यह पिछले कमिट की ओर इंगित करेगा और वर्किंग डायरेक्टरी और स्टेजिंग एरिया—दोनों से वर्तमान कमिट के अपडेट हटा देगा। 

git reset --hard HEAD~1

Git में बदलावों को पूर्ववत करना है? इस विस्तृत गाइड में git reset और git revert के बीच के अंतर जानें।

Git स्टैशिंग और क्लीन-अप

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

git stash

मान लीजिए आप किसी पिछली स्थिति में जाना चाहते हैं, लेकिन अपना वर्तमान प्रोग्रेस कमिट नहीं करना चाहते; तो आप git stash का उपयोग कर सकते हैं। यह आपके अनकंमिटेड बदलावों को अस्थायी रूप से सेव कर लेता है और आपकी वर्किंग डायरेक्टरी को अंतिम कमिटेड स्थिति में रीसेट कर देता है। 

git stash pop

यदि आपने पहले कुछ बदलाव स्टैश किए हैं और उन्हें अपनी वर्किंग डायरेक्टरी में वापस लाना चाहते हैं, तो git stash pop कमांड का उपयोग करें। यह नवीनतम स्टैश किए गए बदलावों को वर्तमान डायरेक्टरी पर लागू करेगा और उन्हें स्टैश सूची से हटा देगा। 

git clean

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

अपनी Git हिस्ट्री को साफ़ करना चाहते हैं? कई कमिट्स को एक में मिलाना सीखें इस Git squash ट्यूटोरियल के साथ।

Git कॉन्फ़िगरेशन और यूज़र सेटिंग्स

Git आपको अलग-अलग स्तरों पर यूज़र सेटिंग्स कॉन्फ़िगर करने देता है। आइए उन्हें यहाँ समझते हैं।

git config

git config कमांड आपको अपनी ज़रूरतों के अनुसार Git सेटिंग्स कस्टमाइज़ करने देता है। आप तीन स्तरों पर सेटिंग्स कॉन्फ़िगर कर सकते हैं: लोकल, सिस्टम, और ग्लोबल स्तर। 

  • सिस्टम स्तर: यह रूट-लेवल एक्सेस के साथ सबसे व्यापक कॉन्फ़िगरेशन स्तर है।
  • ग्लोबल स्तर: इस स्तर की कॉन्फ़िगरेशन वर्तमान यूज़र के सभी रिपॉज़िटरी पर लागू होती है। 
  • लोकल स्तर: वर्तमान Git रिपॉज़िटरी से संबंधित सेटिंग्स इस स्तर पर कस्टमाइज़ की जा सकती हैं। 

ये कुछ आम git config कमांड हैं:

  • git config -list: सभी स्तरों की Git सेटिंग्स दिखाता है।
  • git config --global user.name "Your_name": आपके सिस्टम की सभी रिपॉज़िटरी के लिए Git यूज़रनेम “Your_name” सेट करता है।
  • git config --global user.email "your.email@example.com": आपके सिस्टम की सभी रिपॉज़िटरी के लिए ईमेल पता सेट करता है।

हम जानते हैं कि एक Git रिपॉज़िटरी इनिशियलाइज़ करते समय डिफ़ॉल्ट मुख्य ब्रांच master होती है। लेकिन आप इसे अपनी इच्छा अनुसार निम्न कमांड से बदल सकते हैं:

git config --global init.defaultBranch "srujana_master"

ऊपर दिए कमांड में, हमने ग्लोबल स्तर (सिस्टम की सभी रिपॉज़िटरी के लिए) पर डिफ़ॉल्ट master ब्रांच को "srujana_master" से बदल दिया है।

आप अन्य ग्लोबल-लेवल सेटिंग्स भी लागू कर सकते हैं। उदाहरण के लिए, अपने डिफ़ॉल्ट टेक्स्ट एडिटर को VS Code में बदलने के लिए निम्न कमांड चलाएँ:

git config -global core.editor "code-w"

आप अपने खुद के Git कमांड भी बना सकते हैं। उदाहरण:

git config --global alias.slice branch

ऊपर दिया कमांड branch के लिए slice नाम का एक नया उपनाम बनाता है। तो, यदि आप नई ब्रांच बनाना चाहते हैं, तो git branch branch_name की जगह git slice branch_name चला सकते हैं।

Git कमांड सारांश

यहाँ उन Git कमांड का सारांश है जिन्हें हमने आपके लिए सुविधाजनक रूप से संकलित किया है:

कमांड

विवरण

उदाहरण उपयोग

git init

एक नई Git रिपॉज़िटरी इनिशियलाइज़ करें।

git init

git clone

किसी मौजूदा Git रिपॉज़िटरी को क्लोन करें।

git clone <repository_url>

git status

वर्किंग डायरेक्टरी में फ़ाइलों की स्थिति जाँचें।

git status

git add

फ़ाइलों को स्टेजिंग एरिया में जोड़ें।

git add <file_name>

git commit

स्टेज किए गए बदलावों को लोकल रिपॉज़िटरी में कमिट करें।

git commit -m 'Commit message'

git remote add

रिमोट रिपॉज़िटरी कनेक्शन जोड़ें।

git remote add origin <remote_url>

git push

कमिट किए गए बदलावों को रिमोट रिपॉज़िटरी पर पुश करें।

git push origin <branch_name>

git pull

रिमोट रिपॉज़िटरी से बदलाव फ़ेच और मर्ज करें।

git pull origin <branch_name>

git fetch

रिमोट रिपॉज़िटरी से बदलाव फ़ेच करें, बिना मर्ज किए।

git fetch origin

git branch

ब्रांचों की सूची, निर्माण या हटाना।

git branch <branch_name>

git checkout

ब्रांचों के बीच स्विच करें या फ़ाइलें रिस्टोर करें (पुराना तरीका)।

git checkout <branch_name>

git switch

ब्रांचों के बीच स्विच करें (नए संस्करणों में वरीय)।

git switch <branch_name>

git merge

एक ब्रांच से दूसरी में बदलाव मर्ज करें।

git merge <branch_name>

git rebase

क्लीनर हिस्ट्री के लिए एक ब्रांच के कमिट को दूसरी पर फिर से लागू करें।

git rebase <branch_name>

git log

कमिट हिस्ट्री देखें।

git log

git diff

रिपॉज़िटरी की विभिन्न अवस्थाओं के बीच अंतर दिखाएँ।

git diff

git reset

HEAD को पूर्व स्थिति पर रीसेट करके बदलाव पूर्ववत करें।

git reset --soft HEAD~1

git stash

अनकंमिटेड बदलावों को अस्थायी रूप से सेव करें और वर्किंग डायरेक्टरी रीसेट करें।

git stash

git stash pop

नवीनतम स्टैश किए बदलावों को वर्किंग डायरेक्टरी पर लागू करें।

git stash pop

git clean

रिपॉज़िटरी से अनट्रैक्ड फ़ाइलें हटाएँ।

git clean -n

git config

सिस्टम, ग्लोबल या लोकल स्तर पर Git सेटिंग्स कॉन्फ़िगर करें।

git config --global user.name 'Your Name'

Git का उपयोग करने के सर्वोत्तम अभ्यास

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

Git के साथ काम करते समय अपनाने योग्य कुछ प्रमुख आदतें यहाँ हैं:

  • अक्सर कमिट करें: Git जैसे वर्शन कंट्रोल का एक प्रमुख उद्देश्य समय के साथ बदलावों को प्रभावी ढंग से ट्रैक करना है। जब आप प्रत्येक बदलाव को अलग-अलग कमिट करते हैं, बजाय कई बदलाव एक साथ कमिट करने के, तो बाद में यह समझना आसान हो जाता है कि हर कमिट में क्या संशोधित हुआ। 
  • स्पष्ट संदेशों के साथ कमिट करें: हर बार जब आप कमिट करें, तो उसके साथ एक स्पष्ट संदेश जोड़ें जो बताता हो कि वह कमिट किस बारे में है। अगली बार जब आप कमिट्स ट्रैक करेंगे, तो यह जानना बहुत आसान होगा कि प्रत्येक कमिट ने कोड में क्या बदलाव किए हैं। 
  • ब्रांचों का उपयोग करें: किसी भी नए फीचर या बग फिक्स के लिए एक ब्रांच बनाएँ, उस पर काम करें, और मर्ज करें। यह मुख्य प्रोजेक्ट से नए विकास कार्य को अलग रखने का सर्वोत्तम तरीका है। 
  • .gitignore का उपयोग करें: .gitignore फ़ाइल में प्रोजेक्ट से संबंधित वे फ़ाइलें और डायरेक्टरी होती हैं जिन्हें ट्रैक करना आवश्यक नहीं। इनमें आम तौर पर स्वतः जनरेट की गई फ़ाइलें, बिल्ड आर्टिफैक्ट, लॉग, टेम्पररी और प्लेटफ़ॉर्म-विशिष्ट फ़ाइलें शामिल होती हैं। इन्हें इग्नोर करने से अनावश्यक लॉग्स और वर्ज़न ट्रैकिंग से बचाव होगा और आपकी हिस्ट्री साफ़ रहेगी।

निष्कर्ष

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

बेशक, सीखने के लिए हमेशा और भी बहुत कुछ है! यदि आप अभी शुरुआत कर रहे हैं, तो मजबूत बुनियाद बनाने के लिए Introduction to Git देखें। जो लोग अपनी स्किल्स को और निखारना चाहते हैं, उनके लिए Intermediate Git उन्नत वर्कफ़्लोज़ और तकनीकों में गहराई से जाता है।

भविष्य के प्रोजेक्ट्स के लिए Git का त्वरित संदर्भ चाहिए? आवश्यक कमांड अपने पास रखें इस Git चीट शीट के साथ!

FAQs

git pull और git fetch में क्या अंतर है?

git pull रिमोट रिपॉज़िटरी से बदलावों को फ़ेच करता है और उन्हें आपकी लोकल ब्रांच में मर्ज कर देता है, जबकि git fetch केवल अपडेट डाउनलोड करता है, जिससे आप उन्हें मर्ज करने से पहले समीक्षा कर सकें।

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

वर्तमान ब्रांच का नाम बदलने के लिए:

git branch -m new-branch-name

यदि किसी दूसरी ब्रांच का नाम बदलना है:

git branch -m old-branch-name new-branch-name

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

लोकल ब्रांच डिलीट करने के लिए:

git branch -d branch-name

रिमोट ब्रांच डिलीट करने के लिए:

git push origin --delete branch-name

git merge और git rebase में क्या अंतर है?

git merge अलग-अलग ब्रांचों के बदलावों को मिलाता है और हिस्ट्री को सुरक्षित रखता है, जबकि git rebase कमिट हिस्ट्री को फिर से लिखकर एक साफ़, रैखिक अनुक्रम बनाता है।

क्या मैं किसी git कमिट को पूर्ववत कर सकता/सकती हूँ?

हाँ! अंतिम कमिट को पूर्ववत करना है लेकिन बदलावों को स्टेजिंग एरिया में ही रखना है, तो:

git reset --soft HEAD~1

अंतिम कमिट को पूर्ववत करके बदलावों को स्टेजिंग से हटाना है, तो:

git reset --mixed HEAD~1

बदलावों को पूरी तरह त्यागना है, तो:

git reset --hard HEAD~1

मैं कैसे जाँचूँ कि मैं किस ब्रांच पर हूँ?

चलाएँ:

git branch --show-current

या बस:

git status

मैं एक ही फ़ाइल में किए बदलाव कैसे पूर्ववत करूँ?

किसी फ़ाइल में unstaged बदलावों को त्यागने के लिए:

git checkout -- filename

किसी फ़ाइल को उसकी अंतिम कमिटेड स्थिति में लौटाने के लिए:

git restore filename

मैं किसी Git रिपॉज़िटरी में सभी रिमोट ब्रांचों की सूची कैसे देखूँ?

उपयोग करें:

git branch -r

मैं Git में किसी ब्रांच को फोर्स पुश कैसे करूँ?

फोर्स पुश करते समय सावधानी बरतें, क्योंकि यह रिमोट बदलावों को ओवरराइट कर देता है:

git push --force origin branch-name

मैं अपनी Git कमिट्स का ग्राफ़िकल इतिहास कैसे देखूँ?

अपनी कमिट हिस्ट्री को ग्राफ़ की तरह देखना चाहते हैं:

git log --oneline --graph --all --decorate

Srujana Maddula's photo
Author
Srujana Maddula
LinkedIn

Srujana चार-वर्षीय कंप्यूटर साइंस डिग्री के साथ एक फ्रीलांस टेक राइटर हैं। डेटा साइंस, क्लाउड कंप्यूटिंग, डेवलपमेंट, प्रोग्रामिंग, सुरक्षा, और अन्य कई विषयों पर लिखना उनके लिए स्वाभाविक है। उन्हें शास्त्रीय साहित्य से प्रेम है और नए स्थानों की खोज करना पसंद है।

विषय
डेटा इंजीनियरिंग
Git

इन कोर्सेज़ के साथ Git के बारे में और जानें!

कोर्स

Git परिचय

2 घंटा
101.6K
अपने सॉफ़्टवेयर और डेटा प्रोजेक्ट्स में version control के लिए Git की मूल बातें जानें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें
और देखेंRight Arrow