10 उन्नत Git तकनीकें - KDnuggets

10 उन्नत Git तकनीकें - KDnuggets

स्रोत नोड: 3083811

10 उन्नत गिट तकनीकें
लेखक से छवि
 

क्या आपने कभी सोचा है कि Git का उपयोग करते समय आप अपने प्रबंधक के सामने एक पेशेवर की तरह दिखने के लिए क्या कर सकते हैं? इस पोस्ट में, हम 10 उन्नत Git तकनीकों और शॉर्टकट्स के बारे में जानेंगे जो आपको संस्करण बनाने, बनाए रखने और कोड साझा करने में अधिक कुशल बनाएंगे।

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

आपने इस तरह से कई बार फ़ाइलें जोड़ी और प्रतिबद्ध की हैं, लेकिन क्या होगा अगर मैं आपसे कहूं कि यह `-am` ध्वज के साथ एक पंक्ति में किया जा सकता है? 

$ git add .
$ git commit -m "new project"

 

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

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

आप `-amend` ध्वज का उपयोग करके अपने वर्तमान प्रतिबद्ध संदेश का नाम बदल सकते हैं और नया संदेश लिख सकते हैं। इससे आपको आकस्मिक संदेशों में मदद मिलेगी.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

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

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

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

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

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

हम प्रतिबद्ध इतिहास को संक्षिप्त रूप में देखने के लिए `-oneline` ध्वज के साथ `लॉग` का उपयोग करेंगे। 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

पिछले कमिट पर वापस लौटने के लिए, हम कमिट आईडी के बाद `git revert` कमांड का उपयोग करते हैं। यह पिछली कमिट में बदलाव के साथ एक नई कमिट बनाता है।

$ git revert 8f184d5

क्या आप GitHub पर अपनी उत्पादकता बढ़ाना चाहते हैं? GitHub कोड स्पेस के साथ, अब आप अपने कोड को सीधे अपने ब्राउज़र में संपादित और चला सकते हैं। 

इस सुविधा तक पहुंचने के लिए, बस अपने पसंदीदा रिपॉजिटरी पर नेविगेट करें, अपने कीबोर्ड पर अवधि कुंजी ("") दबाएं, और यह आपको VSCode UI पर रीडायरेक्ट कर देगा।

 

10 उन्नत गिट तकनीकें
लेखक से छवि
 

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

 

10 उन्नत गिट तकनीकें
लेखक से छवि

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

हम एक नाम प्रदान करके और उसे छिपाकर अपनी वर्तमान प्रगति को बचाएंगे। 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

आप अपनी स्टैश सूची देख सकते हैं और इसे पुनः प्राप्त करने के लिए संबंधित इंडेक्स को नोट कर सकते हैं।

$ git stash list

 

stash@{0}: On master: new-idea

 

"नए विचारों" का हमारा भंडार सूचकांक 0 पर सहेजा गया है। इसे पुनः प्राप्त करने के लिए, इस आदेश का उपयोग करें:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

आपके पास अपने डिफ़ॉल्ट शाखा नाम का नाम बदलकर कुछ और उपयुक्त करने का विकल्प है। इस स्थिति में, हम "मास्टर" का नाम बदलकर "मुख्य" कर देंगे। 

$ git branch -M main

 

10 उन्नत गिट तकनीकें
 

आप निम्न आदेश का उपयोग करके परिवर्तनों को सत्यापित कर सकते हैं: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

यदि आप वर्तमान रिपॉजिटरी में किए गए सभी कमिटों का विस्तृत इतिहास देखना चाहते हैं, तो आप `गिट लॉग` कमांड का उपयोग कर सकते हैं। हालाँकि, आउटपुट को पढ़ना मुश्किल हो सकता है। इसे और अधिक पठनीय बनाने के लिए, आप `ग्राफ`, `डेकोरेट`, और `ऑनलाइन` झंडे का उपयोग कर सकते हैं। यह कई शाखाओं में किए गए परिवर्तनों और उनके विलय के तरीके को प्रदर्शित करेगा।

$ git log --graph --decorate --oneline

 

10 उन्नत गिट तकनीकें

कई अवसरों पर, मैंने एक नई शाखा में स्विच किया है और पिछली शाखा का नाम भूल गया हूँ। नतीजतन, मुझे शाखा नामों की सूची देखने के लिए `गिट शाखा -ए` कमांड का उपयोग करना पड़ा। हालाँकि, `गिट चेकआउट` कमांड के बाद डैश "-" का उपयोग करके मूल शाखा में लौटने का एक आसान तरीका है।

हम सबसे पहले नई Git शाखा "नियो" बनाएंगे।

$ git branch neo

 

हम "नव" शाखा पर स्विच करेंगे।

$ git checkout neo

 

Switched to branch 'neo'

 

मूल शाखा में वापस जाने के लिए, हम निम्नलिखित कमांड का उपयोग करेंगे:

$ git checkout -

 

Switched to branch 'main'

हमने रिमोट रिपॉजिटरी को ओवरराइड करने के बारे में सीखा है। आइए जानें कि रिमोट रिपॉजिटरी का उपयोग करके स्थानीय रिपॉजिटरी को कैसे ओवरराइड किया जाए।

रिमोट रिपॉजिटरी से नवीनतम परिवर्तन प्राप्त करने के लिए हम `fetch` कमांड का उपयोग करेंगे। 

$ git fetch origin

 

फिर, हम दूरस्थ संस्करण के साथ किसी भी स्थानीय परिवर्तन को ओवरराइड करने के लिए 'हार्ड' ध्वज के साथ 'रीसेट' कमांड का उपयोग करेंगे। कृपया ध्यान दें कि यह किसी भी स्थानीय परिवर्तन को स्थायी रूप से खारिज कर देगा।

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

यदि अभी भी अनट्रैक फ़ाइलें हैं, तो उन्हें निम्न आदेश का उपयोग करके हटाया जा सकता है:

$ git clean -df

मुझे यह लेख देखने के बाद लिखने की प्रेरणा मिली यूट्यूब वीडियो फायरशिप द्वारा. मैं जटिल विषयों को सरल तरीके से समझाने की उनकी क्षमता के लिए निर्माता की प्रशंसा करता हूं। उनकी पद्धति का अनुसरण करके, मैंने Git सुविधाओं के बारे में बहुत कुछ सीखा है।

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

मुझे आशा है कि आपको यह ब्लॉग उपयोगी लगा होगा। कृपया मुझे बताएं कि क्या आप डेटा विज्ञान की दुनिया में आमतौर पर उपयोग किए जाने वाले उपकरणों के बारे में बाइट-आकार की जानकारी के साथ अधिक पोस्ट पढ़ना चाहेंगे।
 
 

आबिद अली अवनी (@1अबिदलियावान) एक प्रमाणित डेटा वैज्ञानिक पेशेवर है जो मशीन लर्निंग मॉडल बनाना पसंद करता है। वर्तमान में, वह सामग्री निर्माण और मशीन लर्निंग और डेटा विज्ञान प्रौद्योगिकियों पर तकनीकी ब्लॉग लिखने पर ध्यान केंद्रित कर रहा है। आबिद के पास प्रौद्योगिकी प्रबंधन में मास्टर डिग्री और दूरसंचार इंजीनियरिंग में स्नातक की डिग्री है। उनका दृष्टिकोण मानसिक बीमारी से जूझ रहे छात्रों के लिए ग्राफ न्यूरल नेटवर्क का उपयोग करके एआई उत्पाद बनाना है।

समय टिकट:

से अधिक केडनगेट्स