paint-brush
Git में रिमोट से कमिट कैसे हटाएंद्वारा@timmouskhelichvili
364,422 रीडिंग
364,422 रीडिंग

Git में रिमोट से कमिट कैसे हटाएं

द्वारा Tim Mouskhelichvili2m2022/05/31
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

रिमोट से कमिट्स को हटाने के लिए, यदि आपके कमिट्स ऊपर से लगातार हैं या अन्यथा इंटरैक्टिव रीबेस हैं तो आप गिट रीसेट कमांड का उपयोग कर सकते हैं। स्थानीय रूप से कमिट्स को हटाने के बाद, फोर्स विकल्प के साथ गिट पुश कमांड का उपयोग करके उन परिवर्तनों को रिमोट पर पुश करें।
featured image - Git में रिमोट से कमिट कैसे हटाएं
Tim Mouskhelichvili HackerNoon profile picture
0-item
1-item

Git के साथ नियमित रूप से काम करने वाले डेवलपर्स के लिए इतिहास में हेरफेर करना बहुत आम है। दरअसल, डेवलपर्स को अक्सर Git इतिहास से कमिट हटाने की आवश्यकता होती है। सौभाग्य से, Git इस ऑपरेशन को संभव बनाने के लिए कई कमांड प्रदान करता है।


आइए इस तक पहुंचें 😎.

चरण 0 - तैयारी

Git इतिहास में हेरफेर करने से पहले, सुनिश्चित करें कि git status कमांड का उपयोग करके आपकी कार्यशील निर्देशिका किसी भी बदलाव से साफ़ है।

चरण 1 - स्थानीय रूप से कमिट हटाएँ

किसी दूरस्थ सर्वर से कमिट हटाने के लिए, सबसे पहले, आपको उन्हें अपने स्थानीय इतिहास से हटाना होगा।

1.1 ऊपर से लगातार प्रतिबद्धताओं के लिए

यदि आप जिन कमिट्स को हटाना चाहते हैं, वे आपके कमिट हिस्ट्री के शीर्ष पर रखे गए हैं, तो HEAD ऑब्जेक्ट के साथ git reset --hard कमांड का उपयोग करें और उन कमिट्स की संख्या का पता लगाएं जिन्हें आप हटाना चाहते हैं।


 git reset --hard HEAD~1

यह कमांड नवीनतम कमिट को हटा देगा।


 git reset --hard HEAD~3

यह कमांड नवीनतम तीन कमिट्स को हटा देगा।


आप किसी कमिट के हैश का उपयोग करके किसी विशिष्ट कमिट तक को हटा भी सकते हैं, जैसे:

 git reset --hard <hash>

1.2 गैर-लगातार प्रतिबद्धताओं के लिए

हालाँकि, यदि आप गैर-लगातार प्रतिबद्धताओं को हटाना चाहते हैं, तो आपको एक इंटरैक्टिव रिबेस का उपयोग करने की आवश्यकता होगी।


  • [ ] अंतिम कमिट हैश ढूंढें जिसमें वे सभी कमिट शामिल हैं जिन्हें आप git reflog कमांड का उपयोग करके हटाना चाहते हैं।
  • [ ] git rebase -i <hash> के साथ एक इंटरैक्टिव रीबेस प्रारंभ करें।
  • [ ] संपादन स्क्रीन में, उन प्रतिबद्ध पंक्तियों को ढूंढें जिन्हें आप हटाना चाहते हैं और उन्हें हटा दें।
  • [ ] सहेजें और बाहर निकलें (आपको विवादों को हल करने की आवश्यकता हो सकती है)
  • [ ] इंटरैक्टिव रिबेस को git rebase --continue रिबेस को निरस्त करके जारी रखें या फिर से शुरू करें।

चरण 2 - रिमोट से कमिट हटाएँ

रिमोट से कमिट हटाने के लिए, आपको git पुश कमांड का उपयोग करके अपने स्थानीय परिवर्तनों को रिमोट पर पुश करना होगा।


 git push origin HEAD --force


चूँकि आपका स्थानीय इतिहास दूरस्थ इतिहास से भिन्न है, इसलिए आपको force विकल्प का उपयोग करने की आवश्यकता है।

अंतिम विचार

जैसा कि आप देख सकते हैं, Git रिमोट सर्वर से कमिट को हटाना आसान बनाता है।


हालाँकि, आपको force विकल्प के साथ git push कमांड का उपयोग करते समय सावधान रहने की आवश्यकता है क्योंकि यदि आप सतर्क नहीं हैं तो आप प्रगति खो सकते हैं।


पढ़ने के लिए आपका शुक्रिया!