गाइड: हालिया गिट प्रतिबद्धताओं को एक नई शाखा में ले जाना

गाइड: हालिया गिट प्रतिबद्धताओं को एक नई शाखा में ले जाना
गाइड: हालिया गिट प्रतिबद्धताओं को एक नई शाखा में ले जाना

अपनी Git प्रतिबद्धताओं को पुनर्गठित करें

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

इस गाइड में, हम आपको आपके नवीनतम कमिट को एक नई शाखा में ले जाने और आपकी मास्टर शाखा को पिछली स्थिति में रीसेट करने के चरणों के बारे में बताएंगे। इन निर्देशों का पालन करके, आप एक स्वच्छ और व्यवस्थित प्रतिबद्धता इतिहास बनाए रखेंगे, यह सुनिश्चित करते हुए कि आपका प्रोजेक्ट टीम के सभी सदस्यों के लिए प्रबंधनीय और समझने योग्य बना रहेगा।

आज्ञा विवरण
git checkout -b newbranch 'न्यूब्रांच' नामक एक नई शाखा बनाता है और तुरंत उस पर स्विच करता है।
git reset --hard HEAD~3 सभी परिवर्तनों को खारिज करते हुए, वर्तमान शाखा को उसी स्थिति में रीसेट करता है, जिसमें वह तीन कमिट पहले थी।
git push origin newbranch 'न्यूब्रांच' शाखा को 'ओरिजिन' नामक दूरस्थ रिपॉजिटरी में धकेलता है।
git push origin master --force स्थानीय 'मास्टर' शाखा से मिलान करने के लिए दूरस्थ 'मास्टर' शाखा को बलपूर्वक अद्यतन करता है, भले ही वह इतिहास को फिर से लिखता हो।
git branch newbranch 'न्यूब्रांच' नाम से बिना स्विच किए एक नई शाखा बनाता है।
git cherry-pick C D E निर्दिष्ट कमिट्स (सी, डी, और ई) द्वारा पेश किए गए परिवर्तनों को वर्तमान शाखा में लागू करता है।
git log --oneline --graph प्रतिबद्ध इतिहास का संक्षिप्त, चित्रमय प्रतिनिधित्व प्रदर्शित करता है।

Git कमांड की विस्तृत व्याख्या

प्रदान की गई स्क्रिप्ट दर्शाती है कि हाल की प्रतिबद्धताओं को एक नई शाखा में कैसे स्थानांतरित किया जाए और कैसे रीसेट किया जाए master पिछली स्थिति में शाखा। सबसे पहले, आदेश git checkout -b newbranch नामक एक नई शाखा बनाता है newbranch और उस पर स्विच हो जाता है. इसके बाद किया जाता है git reset --hard HEAD~3, जो रीसेट करता है master उस स्थिति में शाखा जो पहले तीन कमिटों में थी, नवीनतम कमिटों को प्रभावी ढंग से हटा रही है। अवांछित परिवर्तनों को त्यागकर प्रतिबद्ध इतिहास को साफ़ करने के लिए यह आदेश महत्वपूर्ण है।

अगला, आदेश git push origin newbranch नव निर्मित शाखा को दूरस्थ रिपॉजिटरी में धकेलता है, जिससे यह सहयोग के लिए उपलब्ध हो जाता है। अंतिम रूप देने के लिए, git push origin master --force रिमोट को जबरदस्ती अपडेट करता है master स्थानीय राज्य से मेल खाने के लिए शाखा, भले ही इसमें इतिहास को फिर से लिखना शामिल हो। दूसरी स्क्रिप्ट पर प्रकाश डाला गया git branch newbranch इसमें स्विच किए बिना एक नई शाखा बनाने के लिए, और git cherry-pick C D E एक शाखा से दूसरी शाखा में विशिष्ट प्रतिबद्धताएँ लागू करना। अंत में, git log --oneline --graph परिवर्तनों के सत्यापन में सहायता करते हुए, प्रतिबद्ध इतिहास का एक दृश्य प्रतिनिधित्व प्रदान करता है।

हाल की प्रतिबद्धताओं को Git में एक नई शाखा में ले जाना

Git कमांड का उपयोग करना

# Create a new branch and switch to it
git checkout -b newbranch

# Reset the master branch to the previous state
git checkout master
git reset --hard HEAD~3

# Push the new branch to the remote repository
git push origin newbranch

# Force push the reset master branch to the remote repository
git push origin master --force

Git में एक नई शाखा बनाना और स्विच करना

गिट बैश का उपयोग करना

# Step 1: Check the current branch
git branch

# Step 2: Create a new branch
git branch newbranch

# Step 3: Move commits to the new branch
git checkout newbranch
git cherry-pick C D E

# Step 4: Verify the branches
git log --oneline --graph

गिट ब्रांचिंग और इतिहास प्रबंधन को समझना

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

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

Git शाखा प्रबंधन के बारे में अक्सर पूछे जाने वाले प्रश्न

  1. मैं Git में एक नई शाखा कैसे बनाऊं?
  2. आदेश का प्रयोग करें git branch branch_name एक नई शाखा बनाने के लिए.
  3. का उद्देश्य क्या है git reset --hard?
  4. यह वर्तमान शाखा को एक विशिष्ट स्थिति में रीसेट करता है, उस बिंदु के बाद के सभी परिवर्तनों को हटा देता है।
  5. मैं अपने Git इतिहास का दृश्य प्रतिनिधित्व कैसे देख सकता हूँ?
  6. उपयोग git log --oneline --graph एक संक्षिप्त, ग्राफिकल प्रतिबद्ध इतिहास देखने के लिए।
  7. मुझे उपयोग करने से क्यों बचना चाहिए? git push --force?
  8. बलपूर्वक धक्का देने से दूरस्थ इतिहास अधिलेखित हो सकता है और सहयोगियों का काम बाधित हो सकता है। इसका प्रयोग सावधानी से करें.
  9. क्या करता है git cherry-pick करना?
  10. यह विशिष्ट प्रतिबद्धताओं से वर्तमान शाखा में परिवर्तन लागू करता है।
  11. मैं मर्ज कमिट के बिना मास्टर शाखा से अपडेट कैसे शामिल कर सकता हूं?
  12. उपयोग git rebase master नवीनतम मास्टर शाखा के शीर्ष पर अपने परिवर्तनों को पुनः लागू करने के लिए।
  13. एक रेखीय परियोजना इतिहास को बनाए रखने का क्या लाभ है?
  14. यह प्रतिबद्ध इतिहास को समझना और अनुसरण करना आसान बनाता है, जो सहयोग के लिए उपयोगी है।
  15. मैं Git में शाखाएँ कैसे बदलूँ?
  16. उपयोग git checkout branch_name किसी मौजूदा शाखा में स्विच करने के लिए.
  17. क्या मैं उन प्रतिबद्धताओं को पुनर्प्राप्त कर सकता हूं जिनके साथ रीसेट किया गया था? git reset --hard?
  18. हाँ, प्रयोग करें git reflog कमिट हैश ढूंढने और उसे वापस रीसेट करने के लिए।

हालिया गिट प्रतिबद्धताओं को आगे बढ़ाने के लिए कदम

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

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

गिट ब्रांचिंग के लिए मुख्य बातें

स्वच्छ और कुशल परियोजना इतिहास को बनाए रखने के लिए शाखा प्रबंधन के लिए गिट कमांड में महारत हासिल करना आवश्यक है। हालिया कमिट को एक नई शाखा में ले जाकर और मास्टर शाखा को रीसेट करके, आप परिवर्तनों को अलग कर सकते हैं और अपनी मुख्य शाखा को स्थिर रख सकते हैं। जैसे आदेशों को समझना git reset, git cherry-pick, और git rebase आपके कार्यप्रवाह और सहयोग को बहुत बढ़ा सकता है। महत्वपूर्ण बदलाव करने से पहले हमेशा अपनी टीम के साथ संवाद करें ताकि उनके काम में बाधा न आए।