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 merge परिवर्तनों को प्रभावी ढंग से अलग करने और एकीकृत करने के लिए महत्वपूर्ण हैं।
दूसरी स्क्रिप्ट दर्शाती है कि परिवर्तनों को छिपाने, दूरस्थ रिपॉजिटरी से अपडेट खींचने और संग्रहीत परिवर्तनों को लागू करने की प्रक्रिया को कैसे स्वचालित किया जाए। यह स्क्रिप्ट शुरू होने वाले आदेशों के अनुक्रम का उपयोग करती है अप्रतिबद्ध परिवर्तनों को सहेजने के लिए, इसके बाद स्थानीय भंडार को अद्यतन करने के लिए, और संग्रहीत परिवर्तनों को पुनः लागू करने के लिए। इसमें संघर्षों को हल करने और छिपाव को साफ़ करने के आदेश भी शामिल हैं git stash drop, एक सुचारू कार्यप्रवाह सुनिश्चित करना और काम खोने के जोखिम को कम करना।
Git कमांड के बाद खोई हुई फ़ाइलें पुनर्प्राप्त करना
विजुअल स्टूडियो कोड में Git का उपयोग करना
# Step 1: Check the git reflog to find the lost commitgit reflog# Step 2: Find the commit hash where you lost your changes# Step 3: Checkout that commit to recover your filesgit checkout <commit_hash># Step 4: Create a new branch from this commit to save your changesgit checkout -b recover-branch# Step 5: Merge your changes back to your current branchgit checkout maingit merge recover-branch# Step 6: Delete the recovery branch if no longer neededgit branch -d recover-branch
गिट पुल के बाद छिपे हुए परिवर्तनों को पुनर्स्थापित करना
गिट स्टैश और पुल कमांड
# Step 1: Stash your changes before pullinggit stash# Step 2: Pull the latest changes from the remote repositorygit pull# Step 3: Apply your stashed changesgit stash apply# Step 4: If conflicts occur, resolve themgit add .git commit -m "Resolved merge conflicts"# Step 5: Clean up the stash if everything is resolvedgit stash drop
प्रक्रिया को स्वचालित करने के लिए स्क्रिप्ट का उपयोग करना
गिट संचालन के लिए बैश स्क्रिप्ट
#!/bin/bash# Script to automate git stash, pull, and apply changesecho "Stashing current changes..."git stashecho "Pulling latest changes from remote..."git pullecho "Applying stashed changes..."git stash applyecho "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 कमांड और डेटा रिकवरी के बारे में सामान्य प्रश्न
- का उद्देश्य क्या है ?
- शाखाओं के शीर्ष पर अपडेट को ट्रैक करता है, जिससे आप खोई हुई प्रतिबद्धताओं को पुनर्प्राप्त कर सकते हैं।
- इसके बाद उत्पन्न होने वाले विवादों को मैं कैसे सुलझा सकता हूँ? ?
- संग्रहीत परिवर्तन लागू करने के बाद, उपयोग करें संघर्षों की पहचान करना, उन्हें मैन्युअल रूप से हल करना और प्रतिबद्ध होना।
- क्या करता है करना?
- स्टैश की सूची से एक विशिष्ट स्टैश प्रविष्टि को हटा देता है।
- मैं उन फ़ाइलों को कैसे पुनर्प्राप्त करूं जो जोड़ी गई थीं लेकिन प्रतिबद्ध नहीं थीं?
- उपयोग फिर, लटकती हुई बूँदों और पेड़ों को ढूँढ़ने के लिए सामग्री को पुनर्प्राप्त करने के लिए.
- दौड़ने से पहले मुझे क्या करना चाहिए? परिवर्तन खोने से बचने के लिए?
- नए अपडेट का उपयोग करने से पहले हमेशा अपने परिवर्तनों को सहेजें या प्रतिबद्ध करें या .
- क्या मैं स्टैश, पुल और अप्लाई प्रक्रिया को स्वचालित कर सकता हूँ?
- हाँ, आप इसके साथ एक स्क्रिप्ट बना सकते हैं या इन Git कमांड को स्वचालित करने के लिए कोई अन्य शेल।
- कैसे हुआ खोया हुआ काम वापस पाने में मदद?
- यह आपको पुनर्प्राप्ति के लिए परिवर्तनों को अलग करते हुए, एक विशिष्ट प्रतिबद्धता से एक नई शाखा बनाने की अनुमति देता है।