Git में विशिष्ट परिवर्तन का मंचन

Git में विशिष्ट परिवर्तन का मंचन
Git

Git में आंशिक प्रतिबद्धताओं को कुशलतापूर्वक प्रबंधित करना

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

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

आज्ञा विवरण
git add -p आपको अंतःक्रियात्मक रूप से चयन करने की अनुमति देता है कि कौन से चरण में परिवर्तन होंगे। यह प्रत्येक परिवर्तन को प्रस्तुत करता है और आपको यह चुनने देता है कि इसे चरणबद्ध करना है या नहीं।
git commit -m एक संदेश के साथ चरणबद्ध परिवर्तन प्रतिबद्ध करता है। यह सुनिश्चित करता है कि केवल वे परिवर्तन प्रतिबद्ध हैं जिनकी आपने समीक्षा की है और चयन किया है।
git status कार्यशील निर्देशिका और स्टेजिंग क्षेत्र की वर्तमान स्थिति दिखाता है, जिससे आपको यह समीक्षा करने में मदद मिलती है कि प्रतिबद्धता के लिए कौन से परिवर्तन किए गए हैं।
git reset HEAD <file> स्टेजिंग क्षेत्र से अनस्टेज परिवर्तन, यदि गलती से स्टेजिंग हो जाए तो आप उन्हें हटाने की अनुमति देते हैं।
Stage Hunk जीयूआई टूल में, यह विकल्प आपको एक ही बार में परिवर्तनों के ब्लॉक (हंक) को चरणबद्ध करने की अनुमति देता है।
Stage Selected Lines जीयूआई टूल में, यह विकल्प आपको अलग-अलग पंक्तियों को एक अलग दृश्य से व्यवस्थित करने की अनुमति देता है।

Git में आंशिक प्रतिबद्धताओं में महारत हासिल करना

ऊपर दिए गए उदाहरणों में प्रदान की गई स्क्रिप्ट दर्शाती है कि Git में परिवर्तनों को चुनिंदा रूप से कैसे चरणबद्ध और प्रतिबद्ध किया जाए, जो कई परिवर्तनों के साथ जटिल परियोजनाओं को प्रबंधित करते समय एक मूल्यवान कौशल है। पहली स्क्रिप्ट कमांड लाइन इंटरफ़ेस का लाभ उठाते हुए उपयोग करती है git add -p आज्ञा। यह कमांड डेवलपर्स को अंतःक्रियात्मक रूप से चयन करने की अनुमति देता है कि चरण में कौन सा परिवर्तन होता है। प्रत्येक परिवर्तन को व्यक्तिगत रूप से प्रस्तुत करके, यह आपको यह चुनने की सुविधा देता है कि क्या इसे हाँ के लिए 'y', नहीं के लिए 'n', या परिवर्तन को और अधिक विभाजित करने के लिए 's' जैसे विकल्पों के साथ चरणबद्ध किया जाए। यह विशेष रूप से तब उपयोगी होता है जब आपके पास किसी फ़ाइल में कई परिवर्तन होते हैं लेकिन आप केवल एक सबसेट करना चाहते हैं, यह सुनिश्चित करते हुए कि आपके कमिट साफ़ और केंद्रित हैं।

वांछित परिवर्तनों का मंचन करने के बाद, git commit -m किसी संदेश के साथ इन परिवर्तनों को करने के लिए कमांड का उपयोग किया जाता है। चरणबद्ध परिवर्तनों की समीक्षा करना महत्वपूर्ण है git status, जो कार्यशील निर्देशिका और स्टेजिंग क्षेत्र की वर्तमान स्थिति को दर्शाता है। यदि आप गलती से चरण परिवर्तन करते हैं, तो git reset HEAD <file> आदेश उन्हें अस्थिर कर सकता है। जो लोग ग्राफ़िकल इंटरफ़ेस पसंद करते हैं, उनके लिए GitKraken या सोर्सट्री जैसे उपकरण समान परिणाम प्राप्त करने के लिए 'स्टेज हंक' या 'स्टेज सेलेक्टेड लाइन्स' जैसे विकल्प प्रदान करते हैं। इसके अतिरिक्त, GitLens एक्सटेंशन के साथ VS कोड का उपयोग करने से विशिष्ट लाइनों की इनलाइन स्टेजिंग की अनुमति मिलती है, जिससे प्रक्रिया अधिक सहज और दृश्यमान हो जाती है।

Git का उपयोग करके परिवर्तनों का चयनात्मक मंचन

कमांड लाइन इंटरफ़ेस (सीएलआई) स्क्रिप्ट

git add -p
# This command allows you to interactively select which changes to stage.

# You'll be presented with each change and can choose 'y' to stage this change,
# 'n' to skip, 's' to split the change into smaller parts, and more options.

# Example:
# $ git add -p
# diff --git a/file.txt b/file.txt
# --- a/file.txt
# +++ b/file.txt
# @@ -1,5 +1,9 @@

Git का उपयोग करके चयनित परिवर्तन करना

कमांड लाइन इंटरफ़ेस (सीएलआई) स्क्रिप्ट

git commit -m "Commit message for partial changes"
# This command commits the changes you have staged interactively.

# Ensure you've reviewed the changes before committing.
# Use 'git status' to check what changes have been staged:
# $ git status
# On branch main
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
# modified:   file.txt

Git GUI का उपयोग करके परिवर्तनों का चयनात्मक मंचन

ग्राफिकल यूजर इंटरफ़ेस (जीयूआई) विधि

# Open your Git GUI client, e.g., GitKraken, Sourcetree, or Git GUI.
# Locate the file with changes you want to stage partially.

# View the file's diff. Most GUI clients allow you to select specific
# lines or hunks to stage by clicking checkboxes or using context menus.

# Stage the selected changes. This typically involves right-clicking
# the selected lines and choosing an option like 'Stage Hunk' or 'Stage Selected Lines'.

# After staging the desired changes, commit them with an appropriate message.

चयनात्मक स्टेजिंग के लिए Git एक्सटेंशन का उपयोग करना

वीएस कोड एक्सटेंशन

# Install the GitLens extension in VS Code.
# Open the file with changes in VS Code.

# In the source control panel, you'll see the list of changes.
# Click on the file to view its diff.

# Use the inline staging buttons provided by GitLens to stage specific lines.
# Hover over the left gutter to see the '+' button for staging individual lines.

# Once you've staged the desired lines, commit the changes via the source control panel.

Git में आंशिक प्रतिबद्धताओं के लिए उन्नत तकनीकें

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

एक बार जब आपके पास अपनी पैच फ़ाइल हो, तो आप इसका उपयोग करके इसे लागू कर सकते हैं git apply आज्ञा। अन्य डेवलपर्स के साथ सहयोग करते समय या जब आप परिवर्तनों को लागू करने से पहले उनकी समीक्षा करना चाहते हैं तो यह विधि विशेष रूप से उपयोगी होती है। एक अन्य उन्नत तकनीक का उपयोग किया जा रहा है git stash के साथ आदेश दें -p विकल्प। यह आपको परिवर्तनों को अंतःक्रियात्मक रूप से छिपाने की अनुमति देता है, जैसे git add -p, लेकिन प्रतिबद्धता के लिए परिवर्तनों को व्यवस्थित करने के बजाय, यह उन्हें बाद में उपयोग के लिए संग्रहीत कर देता है। यह परिवर्तनों को बिना प्रतिबद्ध किए अस्थायी रूप से अलग रखने के लिए उपयोगी हो सकता है, जिससे आपको अपने काम को प्रबंधित करने में लचीलापन मिलता है।

Git में आंशिक प्रतिबद्धताओं के बारे में सामान्य प्रश्न

  1. मैं किसी फ़ाइल में केवल कुछ पंक्तियाँ कैसे चरणबद्ध कर सकता हूँ?
  2. उपयोग git add -p कौन सी पंक्तियों को चरणबद्ध करना है, इसका अंतःक्रियात्मक रूप से चयन करने के लिए कमांड।
  3. यदि मैंने ग़लत पंक्तियाँ प्रस्तुत कीं तो क्या होगा?
  4. आप इसका उपयोग करके लाइनों को अस्थिर कर सकते हैं git reset HEAD <file> आज्ञा।
  5. क्या मैं आंशिक प्रतिबद्धताओं के लिए GUI टूल का उपयोग कर सकता हूँ?
  6. हां, GitKraken और सोर्सट्री जैसे उपकरण आपको विशिष्ट पंक्तियों या परिवर्तनों को चरणबद्ध करने की अनुमति देते हैं।
  7. मैं अपने परिवर्तनों के साथ एक पैच फ़ाइल कैसे बनाऊं?
  8. उपयोग git diff > changes.patch पैच फ़ाइल बनाने का आदेश।
  9. मैं पैच फ़ाइल कैसे लागू करूं?
  10. उपयोग git apply आपके भंडार में एक पैच फ़ाइल लागू करने का आदेश।
  11. इस्तेमाल करने से क्या फायदा git stash -p?
  12. यह आपको परिवर्तनों को अंतःक्रियात्मक रूप से संग्रहीत करने की अनुमति देता है, जिससे आपको प्रतिबद्धता के बिना अपने काम को प्रबंधित करने की सुविधा मिलती है।
  13. प्रतिबद्ध होने से पहले मैं परिवर्तनों की समीक्षा कैसे कर सकता हूँ?
  14. उपयोग git status और git diff परिवर्तनों का मंचन करने और उन्हें प्रतिबद्ध करने से पहले उनकी समीक्षा करने का आदेश देता है।
  15. क्या मैं वीएस कोड का उपयोग करके आंशिक रूप से परिवर्तन कर सकता हूँ?
  16. हाँ, VS कोड में GitLens एक्सटेंशन का उपयोग करने से आप सीधे संपादक से विशिष्ट पंक्तियों को चरणबद्ध कर सकते हैं।

Git में आपके परिवर्तनों का सारांश

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

Git में आंशिक प्रतिबद्धताओं पर अंतिम विचार

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