Git कमांड के बाद गायब हुए कोड को कैसे पुनर्प्राप्त करें

Git कमांड के बाद गायब हुए कोड को कैसे पुनर्प्राप्त करें
Git कमांड के बाद गायब हुए कोड को कैसे पुनर्प्राप्त करें

Git ऑपरेशंस से खोया हुआ कोड पुनर्प्राप्त करना

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

इस आलेख में, हम एक सामान्य परिदृश्य का पता लगाएंगे जहां Git कमांड की एक श्रृंखला चलाने के बाद आपकी जोड़ी गई फ़ाइलें और वर्तमान कोड गायब हो जाते हैं। हम आपके खोए हुए कोड को पुनः प्राप्त करने और भविष्य में ऐसा होने से रोकने में आपकी मदद करने के लिए कदम भी प्रदान करेंगे।

आज्ञा विवरण
git reflog सभी संदर्भ अद्यतनों का एक लॉग दिखाता है, जो खोई हुई प्रतिबद्धताओं को पुनर्प्राप्त करने के लिए उपयोगी है।
git checkout <commit_hash> किसी विशिष्ट कमिट पर स्विच करता है, जो उस कमिट से फ़ाइलों को देखने या पुनर्प्राप्त करने के लिए उपयोगी होता है।
git checkout -b <branch_name> एक नई शाखा बनाता है और उसमें स्विच करता है, जो परिवर्तनों को अलग करने के लिए उपयोगी है।
git stash drop एक विशिष्ट स्टैश को हटाता है, जिसका उपयोग स्टैश किए गए परिवर्तनों को लागू करने के बाद साफ़ करने के लिए किया जाता है।
git merge recover-branch पुनर्प्राप्ति शाखा से परिवर्तनों को वर्तमान शाखा में विलय करता है, जो पुनर्प्राप्त कार्य को एकीकृत करने के लिए उपयोगी है।
#!/bin/bash कमांड अनुक्रमों को स्वचालित करने के लिए उपयोग की जाने वाली बैश स्क्रिप्ट की शुरुआत को इंगित करता है।

पुनर्प्राप्ति प्रक्रिया को समझना

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

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

Git कमांड के बाद खोई हुई फ़ाइलें पुनर्प्राप्त करना

विजुअल स्टूडियो कोड में Git का उपयोग करना

# Step 1: Check the git reflog to find the lost commit
git reflog
# Step 2: Find the commit hash where you lost your changes
# Step 3: Checkout that commit to recover your files
git checkout <commit_hash>
# Step 4: Create a new branch from this commit to save your changes
git checkout -b recover-branch
# Step 5: Merge your changes back to your current branch
git checkout main
git merge recover-branch
# Step 6: Delete the recovery branch if no longer needed
git branch -d recover-branch

गिट पुल के बाद छिपे हुए परिवर्तनों को पुनर्स्थापित करना

गिट स्टैश और पुल कमांड

# Step 1: Stash your changes before pulling
git stash
# Step 2: Pull the latest changes from the remote repository
git pull
# Step 3: Apply your stashed changes
git stash apply
# Step 4: If conflicts occur, resolve them
git add .
git commit -m "Resolved merge conflicts"
# Step 5: Clean up the stash if everything is resolved
git stash drop

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

गिट संचालन के लिए बैश स्क्रिप्ट

#!/bin/bash
# Script to automate git stash, pull, and apply changes
echo "Stashing current changes..."
git stash
echo "Pulling latest changes from remote..."
git pull
echo "Applying stashed changes..."
git stash apply
echo "Resolving any merge conflicts..."
git add .
git commit -m "Resolved conflicts after stash apply"
echo "Cleaning up the stash..."
git stash drop

मर्ज विवादों को संभालना और डेटा हानि को रोकना

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

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

Git कमांड और डेटा रिकवरी के बारे में सामान्य प्रश्न

  1. का उद्देश्य क्या है git reflog?
  2. git reflog शाखाओं के शीर्ष पर अपडेट को ट्रैक करता है, जिससे आप खोई हुई प्रतिबद्धताओं को पुनर्प्राप्त कर सकते हैं।
  3. इसके बाद उत्पन्न होने वाले विवादों को मैं कैसे सुलझा सकता हूँ? git stash apply?
  4. संग्रहीत परिवर्तन लागू करने के बाद, उपयोग करें git status संघर्षों की पहचान करना, उन्हें मैन्युअल रूप से हल करना और प्रतिबद्ध होना।
  5. क्या करता है git stash drop करना?
  6. git stash drop स्टैश की सूची से एक विशिष्ट स्टैश प्रविष्टि को हटा देता है।
  7. मैं उन फ़ाइलों को कैसे पुनर्प्राप्त करूं जो जोड़ी गई थीं लेकिन प्रतिबद्ध नहीं थीं?
  8. उपयोग git fsck फिर, लटकती हुई बूँदों और पेड़ों को ढूँढ़ने के लिए git show सामग्री को पुनर्प्राप्त करने के लिए.
  9. दौड़ने से पहले मुझे क्या करना चाहिए? git pull परिवर्तन खोने से बचने के लिए?
  10. नए अपडेट का उपयोग करने से पहले हमेशा अपने परिवर्तनों को सहेजें या प्रतिबद्ध करें git stash या git commit.
  11. क्या मैं स्टैश, पुल और अप्लाई प्रक्रिया को स्वचालित कर सकता हूँ?
  12. हाँ, आप इसके साथ एक स्क्रिप्ट बना सकते हैं bash या इन Git कमांड को स्वचालित करने के लिए कोई अन्य शेल।
  13. कैसे हुआ git checkout -b खोया हुआ काम वापस पाने में मदद?
  14. यह आपको पुनर्प्राप्ति के लिए परिवर्तनों को अलग करते हुए, एक विशिष्ट प्रतिबद्धता से एक नई शाखा बनाने की अनुमति देता है।