2016-02-26 4 views
6

में एक धक्का विलय को प्रतिबद्ध करता है मैंने गलती से एक शाखा विलय कर ली और "तुरंत पुश परिवर्तन" चेक किया था। दुर्भाग्यवश मैंने एक विलय त्रुटि की और अब मैं इसे हटाने के लिए एक रिवर्स प्रतिबद्ध नहीं करना चाहता। हालांकि मैं निम्नलिखित त्रुटि मिलती है SourceTree में हर बार मैं यह कर:गिट रिवर्स SourceTree

error: Commit X is a merge but no -m option was given. fatal: revert failed

वहाँ ऐसा करने या मैं इसके लिए टर्मिनल का उपयोग करने के लिए है करने के लिए कोई रास्ता नहीं है? इसके बारे में पढ़ा गया लेकिन इस विशिष्ट मामले का समाधान नहीं मिला।

उत्तर

3

आप विलय (हार्ड रिवर्ट) से पहले अपनी शाखा (या मास्टर) को वापस लाने के तरीके के बारे में उत्तर पा सकते हैं। अगर सबकुछ वापस उस राज्य में वापस करना ठीक है, तो यह ठीक है। लेकिन आमतौर पर मुझे उस विलय के बाद किए गए कामों को संरक्षित करते समय एक फीचर शाखा के विलय को वापस करना होगा।

बस कार्य करें:

git revert -m 1 [copy-paste-the-id-of-the-merge-commit-here] 

यदि आवश्यक हो, संघर्ष को संपादित करने और प्रतिबद्ध।

संपादित करें: और हाँ, यदि आप विलय प्रतिबद्धता को पूर्ववत कर रहे हैं तो SourceTree -m 1 तर्कों को पारित करना चाहिए।

2

आप नवीनतम पर राइट क्लिक कर सकते हैं प्रतिबद्ध और क्लिक करें:

"इस के लिए वर्तमान शाखा रीसेट प्रतिबद्ध"

enter image description here

और संकेत दिए जाने हार्ड मोड का चयन करें।

enter image description here

महत्वपूर्ण नोट: सभी काम कर प्रतिलिपि परिवर्तन कठिन मोड क्लिक करने के बाद छोड़ दिया जाएगा।

आशा है कि इससे मदद मिलती है!

चीयर्स!