उन्नत गिट ट्यूटोरियल

उन्नत गिट ट्यूटोरियल

अपने प्रोजेक्ट को दूरस्थ रिपॉजिटरी के माध्यम से परिनियोजित करने से आप लचीले ढंग से इसके हर बिट का प्रबंधन कर सकते हैं। बग फिक्स, फीचर अपडेट, फ़ाइल हटाना, टीम वर्क, ओपन-सोर्स योगदान, कोड परिनियोजन, और बहुत कुछ अब गिट के मजबूत ज्ञान के साथ आपकी उंगलियों पर हैं।





तो, आप Git का उपयोग कर रहे हैं लेकिन अधिक जानना चाहते हैं? यहां कुछ और उन्नत गिट युक्तियां दी गई हैं जो आपके प्रोजेक्ट संस्करण को हवा में नियंत्रित कर देंगी।





गिट शाखा

एक गिट शाखा आपको सीधे मास्टर शाखा में धकेलने से रोकती है। यदि आप किसी प्रोजेक्ट को डेवलपर्स की टीम के साथ प्रबंधित करते हैं तो यह सहायक होता है। आप जितनी चाहें उतनी गिट शाखाएं बना सकते हैं और बाद में उन्हें मास्टर शाखा में विलय कर सकते हैं।





एक गिट शाखा बनाएं

गिट शाखा बनाने के लिए, उपयोग करें:

git branch branch_name

एक गिट शाखा में स्विच करें

उपयोग चेक आउट गिट शाखा में स्विच करने के लिए:



git checkout branch_name

शाखा में स्विच करने के बाद, आप का उपयोग करके अपने परिवर्तनों को चरणबद्ध कर सकते हैं गिट ऐड --all . फिर उन्हें का उपयोग करके प्रतिबद्ध करें गिट प्रतिबद्ध-एम 'प्रतिबद्ध नाम' आदेश।

मास्टर के साथ एक शाखा की तुलना करें

उपयोग गिट अंतर आदेश:





git diff master..branch_name

विशिष्ट फ़ाइलों की तुलना करने के लिए:

git diff master..testb -- main.html

दो शाखाओं की तुलना मास्टर के साथ एक शाखा की तुलना करने के समान है:





git diff branch1..branch2

दो शाखाओं के बीच एक विशिष्ट फ़ाइल में अंतर देखने के लिए:

git diff branch1..branch2 -- main.html

दूरस्थ शाखा में परिवर्तन पुश करें

आप चाहते हैं कि कोई अन्य डेवलपर आपकी स्थानीय शाखा में फ़ाइल में किए गए परिवर्तनों को लाइव करने से पहले उन्हें देखे। एक अच्छा अभ्यास है कि आप अपनी स्थानीय गिट शाखा को दूरस्थ प्रतिकृति में धकेल दें ताकि वे देख सकें।

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

फिर आप उन परिवर्तनों को शाखा के दूरस्थ संस्करण में धकेल सकते हैं:

git push origin changes

पुल अनुरोध का उपयोग करके दूरस्थ शाखा को मास्टर के साथ मिलाएं

तो एक अन्य प्रोग्रामर ने दूरस्थ शाखा में परिवर्तनों का लेखा-जोखा किया है ( परिवर्तन ) लेकिन आप इसे मास्टर ब्रांच के साथ मर्ज करना चाहते हैं और इसे लाइव पुश करना चाहते हैं।

याद रखें कि आपकी दूरस्थ शाखा को आपकी स्थानीय Git शाखा का नाम विरासत में मिला है ( परिवर्तन ) यहां परिवर्तनों को मर्ज करने का तरीका बताया गया है:

मास्टर शाखा में स्विच करें:

git checkout master

शाखा के मूल या HEAD को खींचे ( परिवर्तन ) इसे मास्टर शाखा के साथ मर्ज करने के लिए:

git pull origin changes

इस मर्ज को मास्टर शाखा में लाइव पुश करें:

git push origin master

इसके बजाय गिट मर्ज का प्रयोग करें

मास्टर के साथ एक शाखा का विलय करने के लिए जाओ आदेश:

मास्टर शाखा में माइग्रेट करें:

git checkout master

इसे शाखा के साथ मिलाएं ( परिवर्तन ):

git merge changes

फिर मर्ज को मास्टर ब्रांच में लाइव पुश करें:

रास्पबेरी पाई 3 पर वाईफाई कैसे सेट करें
git push origin master

सुनिश्चित करें कि आप प्रतिस्थापित करें परिवर्तन अपनी शाखा के नाम के साथ।

एक बार मर्ज सफल होने के बाद, आप कर सकते हैं शाखा को स्थानीय और दूरस्थ रूप से हटाएं अगर आपको अब इसकी आवश्यकता नहीं है:

सम्बंधित: Git . में एक शाखा का नाम कैसे बदलें

गिट रिबेस

यदि आपके पास पुरानी कमिट वाली कई शाखाएं हैं, तो आप रीबेस या रीफोकस कर सकते हैं प्रमुख/रेफरी उन शाखाओं के वारिस करने के लिए प्रमुख/रेफरी एक अद्यतन की।

इसलिए, रीबेसिंग तब काम आता है जब आपको कुछ शाखाओं को वर्तमान के आधार के साथ अद्यतन करने की आवश्यकता होती है।

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

उदाहरण के लिए, मान लें कि आपकी दो शाखाएँ हैं; शाखा 1 और शाखा 2। अब, आपने कुछ समय के लिए शाखा 1 में कोई परिवर्तन नहीं किया है। लेकिन आप हाल ही में शाखा 2 में लगातार बदलाव करते हैं।

तो आपने शाखा 1 को प्रवाह के साथ ले जाने का निर्णय लिया। शाखा 1 को शाखा 2 में पुन: स्थापित करने का मतलब है कि आप शाखा 1 को अपनी पिछली प्रतिबद्धताओं को अनदेखा करने के लिए कह रहे हैं और शाखा 2 में किए गए हालिया प्रतिबद्धता को प्राप्त कर रहे हैं।

यहां बताया गया है कि आप यह कैसे कर सकते हैं:

परित्यक्त शाखा में स्विच करें (शाखा 1):

git checkout branch1

फिर शाखा 1 को अद्यतन शाखा 2 में रीबेस करें:

git rebase branch2

गिट स्क्वैश

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

लेकिन हो सकता है कि आप HEAD कमिट को साथ वाले लोगों के साथ आगे नहीं बढ़ाना चाहते क्योंकि उन सभी का एक ही उद्देश्य है। एक अनुशंसित तरीका यह है कि ट्रैकिंग करते समय भ्रम से बचने के लिए उन्हें एक में तोड़ दिया जाए।

स्क्वैश कमिट करने का सबसे अच्छा तरीका इंटरैक्टिव रिबेस मोड के माध्यम से है। इसे और अच्छे से समझने के लिए नीचे दिए गए उदाहरण को देखें।

इस उदाहरण में, मान लें कि आपके पास पाँच बग फिक्स हैं। और उनमें से प्रत्येक के लिए एक प्रतिबद्धता है। यहां बताया गया है कि आप इन पांच कमिट्स को एक में कैसे बदल सकते हैं:

Daud गिट रीफ्लॉग अपने कमिट का हैश कोड देखने के लिए:

git reflog

यहाँ इस मामले में परिणाम है:

अब आपका लक्ष्य अंतिम पांच कमिट को खत्म करना है, जिसकी शुरुआत पहला फिक्स तक पाँचवाँ फिक्स .

ऐसा करने के लिए, नीचे दिए गए कमिट के हैश कोड को कॉपी करें पहला फिक्स ( 0a83962 ) फिर दबायें क्यू छोड़ने के लिए रिफ्लॉग .

अब भागो गिट रिबेस --इंटरएक्टिव उस हैश पर।

git rebase --interactive 0a83962

गिट तब एक इंटरैक्टिव रीबेस फ़ाइल खोलता है जो इस तरह दिखता है:

को छोड़कर, कमिट को स्क्वैश करने के लिए पहला फिक्स , बदलने के चुनना साथ एस प्रत्येक दूसरे के लिए प्रतिबद्ध है:

इस फ़ाइल को सहेजें और बंद करें।

स्क्वैश कमिट का नाम बदलने के लिए आपके लिए एक और फ़ाइल खुलती है:

ऐसे ऐप्स जिन्हें इंटरनेट की आवश्यकता नहीं है

उन्हें साफ करें और स्क्वैश कमिट के लिए पसंदीदा नाम टाइप करें:

उस फाइल को सेव करें। फिर इसे बंद करें और आपको अपने टर्मिनल में एक सफलता संदेश प्राप्त होना चाहिए।

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

ऐसा करने के लिए, अपनी कमांड लाइन खोलें और चलाएँ:

git config --global core.editor ''path to choice text editor' -n -w'

गिट फोर्क बनाम गिट क्लोन

Git में फोर्किंग और क्लोनिंग दो अलग-अलग शब्द हैं। आप अपने भंडार को फोर्क नहीं कर सकते क्योंकि यह आपके पास पहले से ही है। हालांकि, आप अन्य लोगों के भंडार को फोर्क कर सकते हैं और बाद में इसे क्लोन कर सकते हैं।

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

यहां बताया गया है कि कैसे एक दूरस्थ रिपॉजिटरी क्लोन करें GitHub पर और अपनी स्थानीय निर्देशिका में एक डाउनलोड आरंभ करें:

git clone https://github.com/username/repository_name.git/

किसी फ़ाइल को उसकी डिफ़ॉल्ट स्थिति में पुनर्स्थापित करें

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

git restore filename

एक समिति में संशोधन करें

यदि आप कुछ फ़ाइलों का मंचन करते समय उनमें परिवर्तन करना भूल जाते हैं, तो आप पिछली प्रतिबद्धता पर वापस आ सकते हैं।

उस फ़ाइल में परिवर्तन करें जिसे आप भूल गए हैं। फिर उपयोग करें गिट संशोधन एक प्रतिबद्धता की समीक्षा करने के लिए:

git add file_forgotten
git commit --amend

अस्थिर फ़ाइलें

आप उन विशिष्ट फ़ाइलों को हटा सकते हैं जिनका आपने उपयोग करके एक प्रतिबद्धता के लिए मंचन किया है जाओ आरएम आदेश:

git rm --cached filename

आप एक साथ कई फाइलें भी हटा सकते हैं:

git rm --cached file1 file2 file3 file4

प्रासंगिक फ़ाइल एक्सटेंशन को किसी भी फ़ाइल में संलग्न करना याद रखें जिसे आप छूट दे रहे हैं। उदाहरण के लिए, एक सादा पाठ फ़ाइल होनी चाहिए फ़ाइल नाम.txt .

सम्बंधित: गिट को कैसे साफ करें और अनट्रैक की गई फाइलों को कैसे हटाएं

गिट रीसेट

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

git reset

Git रीसेट HEAD, हालाँकि, एक शाखा के HEAD को आपके काम करने वाले पेड़ में एक विशिष्ट कमिट की ओर इशारा करता है। उदाहरण के लिए, यदि आपने अभी तक अपनी वर्तमान प्रतिबद्धता को आगे नहीं बढ़ाया है, तो आप हाल ही में धक्का दी गई प्रतिबद्धता पर वापस आ सकते हैं:

git reset --soft HEAD~1

बदलने के --मुलायम साथ --कठिन यदि आपने वर्तमान प्रतिबद्धता को पहले ही धक्का दे दिया है:

git reset --hard HEAD~1

वापस जाओ

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

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

एक प्रतिबद्धता पर वापस जाने के लिए:

git revert HEAD~1

कहा पे सिर~1 आपके कामकाजी पेड़ में एक विशिष्ट प्रतिबद्धता की ओर इशारा करता है।

ट्रैक की गई फ़ाइल या निर्देशिका हटाएं

आप उपयोग कर सकते हैं गिट आरएम-एफ अपने कार्यशील ट्री में किसी भी ट्रैक की गई फ़ाइल को हटाने के लिए। हालाँकि, ध्यान दें कि Git अनट्रैक की गई फ़ाइलों को नहीं हटा सकता है, क्योंकि यह उन्हें कैश नहीं करता है।

चरणबद्ध फ़ाइल को हटाने के लिए:

git rm -f filename

चरणबद्ध फ़ोल्डर को निकालने के लिए:

git rm -r -f foldername

गिट लॉगिंग

गिट में अपने प्रतिबद्ध लॉग और इतिहास देखने के लिए:

git log

किसी विशिष्ट शाखा में गतिविधियों को लॉग करने के लिए:

git log branch_name

सम्बंधित: गिट लॉग के साथ किसी प्रोजेक्ट के इतिहास का निरीक्षण कैसे करें

कभी-कभी आप एक परित्यक्त प्रतिबद्धता पर वापस जाना चाह सकते हैं। तो छोड़े गए कामों को देखने के लिए, प्रासंगिक लोगों सहित:

git reflog

किसी विशेष शाखा के लिए रेफरी लॉग देखने के लिए:

git reflog branch_name

अपने प्रोजेक्ट संस्करणों को Git के साथ प्रो की तरह प्रबंधित करें

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

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

साझा करना साझा करना कलरव ईमेल Git के साथ एक प्रोग्रामर की तरह अपनी फाइल वर्जनिंग को मैनेज करें

फ़ाइल संस्करण नियंत्रण समस्याओं को हल करने के लिए प्रोग्रामर्स ने वर्जन कंट्रोल सिस्टम (VCS) बनाया। आइए आज के शीर्ष सिस्टम, Git का उपयोग करके संस्करण नियंत्रण की मूल बातें देखें।

आगे पढ़िए
संबंधित विषय
  • प्रोग्रामिंग
  • वेब विकास
  • GitHub
  • कोडिंग ट्यूटोरियल
लेखक के बारे में इडिसौ ओमिसोला(94 लेख प्रकाशित)

Idowu कुछ भी स्मार्ट तकनीक और उत्पादकता के बारे में भावुक है। अपने खाली समय में, वह कोडिंग के साथ खेलता है और जब वह ऊब जाता है तो शतरंज की बिसात पर चला जाता है, लेकिन उसे कभी-कभी दिनचर्या से अलग होना भी पसंद होता है। लोगों को आधुनिक तकनीक के बारे में बताने का उनका जुनून उन्हें और अधिक लिखने के लिए प्रेरित करता है।

Idowu Omisola . की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें