गिट: मौजूदा प्रतिबद्ध संदेश को संशोधित करें

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

तो क्या होगा यदि आप मौजूदा प्रतिबद्ध संदेश को संशोधित करना चाहते हैं? सौभाग्य से यह गिट में करना आसान है, लेकिन कुछ कारकों के आधार पर विधि थोड़ी बदल सकती है।

अंतिम प्रतिबद्धता को ठीक करें, अभी तक रिमोट पर नहीं धकेला गया है

यह सबसे सरल मामला है क्योंकि रिमोट रिपोजिटरी को संशोधित करने की कोई आवश्यकता नहीं है, आपको बस अपना खुद का संशोधित करने की आवश्यकता है। इस मामले में, आप निम्न आदेश का उपयोग कर सकते हैं:

$ git commit --amend

इस आदेश को चलाने से एक संपादक खुल जाएगा जहां आप संशोधित कर सकते हैं पिछली बार प्रतिबद्ध संदेश। एक बार जब आप कर लेते हैं और संपादक को सहेज / बंद कर देते हैं, तो प्रतिबद्ध संदेश बदल जाएगा।

व्यक्तिगत रूप से, मैं कमांड लाइन पर ज्यादातर चीजें करना पसंद करता हूं, जो आप ऊपर दिए गए कमांड में एक तर्क और संदेश जोड़कर कर सकते हैं:

$ git commit --amend -m "Added a new file"

इसे इस तरह करने से संपादक नहीं खुलेगा, बल्कि इसके बजाय यह तुरंत प्रतिबद्ध संदेश को संशोधित कर देगा।

फिक्स लास्ट कमिट, पुश टू रिमोट

यह एक और सामान्य मामला है, और इसे ठीक करना थोड़ा अधिक कठिन है, न केवल इसलिए कि हमें अपने स्वयं के भंडार को संशोधित करने की आवश्यकता है, बल्कि हमें दूरस्थ रिपॉजिटरी को संशोधित करने की भी आवश्यकता है, जो आपकी स्थानीय शाखा से आगे हो सकती है।

पहला कदम अंतिम प्रतिबद्धता में संशोधन करना है, जैसा कि हमने पिछले खंड में किया था:

$ git commit --amend -m "Added a new file"

फिर, आपको इन परिवर्तनों को दूरस्थ रिपॉजिटरी में धकेलने की आवश्यकता है। हालाँकि, यह का उपयोग करके किया जाना चाहिए --force झंडा।

$ git push <remote> <branch> --force

रिमोट रिपोजिटरी को अपने स्थानीय राज्य के साथ अधिलेखित करने के लिए हमें इसे इस तरह से करने की आवश्यकता है।

ध्यान रखें कि जबरन धक्का देकर, आप भी करेंगे खोना कोई भी स्थानीय शाखा पर काम करता है जो आपके पास पहले से आपकी स्थानीय शाखा में नहीं है। सावधानी के साथ आगे बढ़ें!

सर्वोत्तम प्रथाओं, उद्योग-स्वीकृत मानकों और शामिल चीट शीट के साथ, Git सीखने के लिए व्यावहारिक मार्गदर्शिका देखें। Googling Git कमांड को रोकें और वास्तव में सीखना यह!

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

इंटरएक्टिव रिबेस का प्रयोग करें

एक अन्य विकल्प, जो वर्णित पिछले समाधानों की तुलना में अधिक लचीला है, एक इंटरैक्टिव रिबेस का उपयोग करना है। ऐसा करने से आप अंतिम एन कमिट्स का निरीक्षण कर सकते हैं और उनमें बदलाव कर सकते हैं, जिसमें पिकिंग, स्क्वैशिंग आदि शामिल हैं।

रिबेस शुरू करने के लिए, आप निम्न आदेश का उपयोग कर सकते हैं:

$ git rebase -i HEAD~n

यहाँ, n उन कमिट्स की संख्या है जिनका आप निरीक्षण और संपादन करना चाहते हैं। फिर आप इसके समान कमिट्स की एक सूची देखेंगे:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















जैसा कि आप देख सकते हैं कि सभी अंतिम एन कमिट सूचीबद्ध हैं, और आप आवश्यकतानुसार उनके संदेशों को संशोधित कर सकते हैं।

समय टिकट:

से अधिक स्टैकब्यूज