अप्रतिबद्ध परिवर्तनों को एक नई Git शाखा में स्थानांतरित करना

अप्रतिबद्ध परिवर्तनों को एक नई Git शाखा में स्थानांतरित करना
अप्रतिबद्ध परिवर्तनों को एक नई Git शाखा में स्थानांतरित करना

आपके अप्रतिबद्ध कार्य के लिए एक नई शाखा स्थापित करना

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

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

आज्ञा विवरण
git checkout -b <branch-name> एक नई शाखा बनाता है और उसमें स्विच करता है।
git add . कार्यशील निर्देशिका में सभी अप्रतिबद्ध परिवर्तनों को चरणबद्ध करता है।
git commit -m "message" एक वर्णनात्मक संदेश के साथ चरणबद्ध परिवर्तन करता है।
git checkout - पहले से चेक-आउट शाखा में वापस स्विच हो जाता है।
git reset --hard HEAD~1 परिवर्तनों को त्यागते हुए, वर्तमान शाखा को पिछली प्रतिबद्धता पर रीसेट करता है।
#!/bin/bash निर्दिष्ट करता है कि स्क्रिप्ट को बैश शेल में चलाया जाना चाहिए।

अप्रतिबद्ध कार्य के प्रबंधन के लिए गिट वर्कफ़्लो को समझना

पहले स्क्रिप्ट उदाहरण में, हम Git कमांड की एक श्रृंखला का उपयोग करके मैन्युअल रूप से अप्रतिबद्ध परिवर्तनों को एक नई शाखा में ले जाते हैं। प्रक्रिया शुरू होती है git checkout -b new-feature-branch, जो "न्यू-फ़ीचर-ब्रांच" नामक एक नई शाखा बनाता है और उस पर स्विच करता है। नई सुविधा के कार्य को मुख्य शाखा से अलग करने के लिए यह आवश्यक है। इसके बाद, हम सभी अप्रतिबद्ध परिवर्तनों को चरणबद्ध करते हैं git add .. यह कमांड सुनिश्चित करता है कि सभी संशोधित और नई फ़ाइलें कमिट करने के लिए तैयार हैं। इसके बाद, git commit -m "Move uncommitted work to new feature branch" कमांड इन परिवर्तनों को कार्रवाई की व्याख्या करने वाले संदेश के साथ नई शाखा में भेजता है।

नई शाखा में परिवर्तन सुरक्षित करने के बाद, हम मूल शाखा में लौट आते हैं git checkout original-branch. मूल शाखा को उसकी पिछली स्थिति में रीसेट करने के लिए, हम इसका उपयोग करते हैं git reset --hard HEAD~1. यह कमांड शाखा को पिछली प्रतिबद्धता पर बलपूर्वक रीसेट करता है, तब से किए गए किसी भी बदलाव को खारिज कर देता है। आदेशों की यह श्रृंखला यह सुनिश्चित करती है कि नई सुविधा पर काम अपनी शाखा में संरक्षित है जबकि मूल शाखा एक साफ स्थिति में रीसेट हो गई है।

शेल स्क्रिप्ट के साथ प्रक्रिया को स्वचालित करना

दूसरा स्क्रिप्ट उदाहरण शेल स्क्रिप्ट का उपयोग करके इस प्रक्रिया को स्वचालित करता है। स्क्रिप्ट यह जांचने से शुरू होती है कि क्या नई शाखा का नाम प्रदान किया गया है if [ -z "$1" ]; then, जो कोई नाम न दिए जाने पर स्क्रिप्ट से बाहर निकल जाता है। परिवर्तनशील NEW_BRANCH=$1 एक वेरिएबल को प्रदत्त शाखा नाम निर्दिष्ट करता है। फिर स्क्रिप्ट इस नई शाखा को बनाती है और उस पर स्विच करती है git checkout -b $NEW_BRANCH. सभी अप्रतिबद्ध परिवर्तनों का उपयोग करके मंचन किया जाता है git add ., और साथ प्रतिबद्ध git commit -m "Move uncommitted work to $NEW_BRANCH".

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

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

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

# Step 1: Create a new branch and switch to it
git checkout -b new-feature-branch

# Step 2: Stage all uncommitted changes
git add .

# Step 3: Commit the staged changes
git commit -m "Move uncommitted work to new feature branch"

# Step 4: Switch back to the original branch
git checkout original-branch

# Step 5: Reset the original branch to the previous commit
git reset --hard HEAD~1

प्रगति को बरकरार रखते हुए कार्य को नई शाखा में स्थानांतरित करना

स्वचालन के लिए शेल स्क्रिप्ट का उपयोग करना

#!/bin/bash

# Check if the user provided a branch name
if [ -z "$1" ]; then
  echo "Usage: $0 <new-branch-name>"
  exit 1
fi

NEW_BRANCH=$1

# Create and switch to the new branch
git checkout -b $NEW_BRANCH

# Stage all uncommitted changes
git add .

# Commit the changes
git commit -m "Move uncommitted work to $NEW_BRANCH"

# Switch back to the original branch
git checkout -

# Reset the original branch
git reset --hard HEAD~1

Git में फ़ीचर शाखाएँ बनाना और प्रबंधित करना

Git के साथ काम करते समय, अपने वर्कफ़्लो को व्यवस्थित रखना महत्वपूर्ण है, खासकर नई सुविधाएँ विकसित करते समय। फ़ीचर शाखाओं का उपयोग करना एक सर्वोत्तम अभ्यास है। एक फीचर शाखा आपको मुख्य कोडबेस से स्वतंत्र रूप से एक नई सुविधा पर काम करने की अनुमति देती है। यह अलगाव अधूरे या अस्थिर कोड को मुख्य शाखा को प्रभावित करने से रोकने में मदद करता है। फ़ीचर शाखा बनाने के लिए, कमांड का उपयोग करें git checkout -b feature-branch. यह न केवल शाखा बनाता है बल्कि आपको उसमें बदल देता है, यह सुनिश्चित करते हुए कि कोई भी नया काम सही संदर्भ में किया जाता है।

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

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

  1. फीचर शाखा क्या है?
  2. फीचर शाखा मुख्य कोडबेस से स्वतंत्र रूप से एक नई सुविधा विकसित करने के लिए बनाई गई एक अलग शाखा है।
  3. मैं Git में एक नई शाखा कैसे बनाऊं?
  4. आप इसका उपयोग करके एक नई शाखा बना सकते हैं git checkout -b branch-name.
  5. मैं Git में शाखाओं के बीच कैसे स्विच करूँ?
  6. उपयोग git checkout branch-name किसी मौजूदा शाखा में स्विच करने के लिए.
  7. मैं एक फीचर शाखा को वापस मुख्य शाखा में कैसे विलय कर सकता हूँ?
  8. किसी फीचर शाखा को मर्ज करने के लिए, मुख्य शाखा पर स्विच करें और उपयोग करें git merge feature-branch.
  9. मैं अपनी फीचर शाखा को मुख्य शाखा से नवीनतम परिवर्तनों के साथ कैसे अपडेट करूं?
  10. अपनी सुविधा शाखा में रहते हुए, उपयोग करें git rebase main नवीनतम परिवर्तनों को शामिल करने के लिए.
  11. यदि मैं विलय के बाद किसी शाखा को हटाना चाहूँ तो क्या होगा?
  12. आप इसका उपयोग करके किसी शाखा को हटा सकते हैं git branch -d branch-name.
  13. मैं अपने भंडार में सभी शाखाओं को कैसे सूचीबद्ध करूं?
  14. उपयोग git branch सभी शाखाओं को सूचीबद्ध करने के लिए.
  15. क्या मैं Git में किसी शाखा का नाम बदल सकता हूँ?
  16. हाँ, प्रयोग करें git branch -m old-name new-name किसी शाखा का नाम बदलने के लिए.
  17. मैं कैसे जांचूं कि मैं वर्तमान में किस शाखा में हूं?
  18. उपयोग git status या git branch वर्तमान शाखा देखने के लिए.
  19. यदि मैं विवादों वाली किसी शाखा का विलय करने का प्रयास करूं तो क्या होगा?
  20. मर्ज पूरा करने से पहले Git आपको विवादों को हल करने के लिए प्रेरित करेगा। उपयोग git status विरोध वाली फ़ाइलों को देखने और तदनुसार उन्हें संपादित करने के लिए।

अंतिम विचार:

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