को वापस लेना मुझे दो शाखाओं - मास्टर और देव के साथ एक रेपो मिला है। मैं मास्टर शाखा पर काम कर रहा था और खींच लिया, और एक संदेश मिला कि रेपो अद्यतित था। मैंने अपने परिवर्तन किए, और रिमोट रेपो (गीथूब पर) पर धक्का दिया। मुझे एक संदेश मिला कि कुछ बदलाव अस्वीकार कर दिए गए थे।पुशड गिट प्रतिबद्ध
मैंने फिर git pull origin dev
किया, जो स्पष्ट रूप से करने के लिए गलत काम था - चूंकि यह मेरे गुरु के साथ देव शाखा विलय कर रहा था, और बेवकूफ की तरह मैंने इसे तब तक नहीं देखा जब तक कि मैं पहले से ही धक्का नहीं दूंगा। तो अंतिम प्रतिबद्धता Merge branch 'dev' of github.com:myuser/myrepo
दिखाती है।
मैं git reset --hard [sha]
कर अपने स्थानीय रेपो पर अंतिम ज्ञात अच्छी स्थिति पर वापस जा सकता हूं, [sha] विलय से पहले प्रतिबद्ध होने के साथ (हालांकि मुझे यकीन नहीं है कि मूल में उस परिवर्तन को कैसे करें) - या जो मैंने पढ़ा है उससे मैं git revert -m
भी कर सकता हूं और फिर उस परिवर्तन को प्रतिबद्ध/धक्का दे सकता हूं।
क्या कोई मुझे मेरे विलय को पूर्ववत करने के लिए "सही तरीके से" चल सकता है, और दोनों शाखाओं को वापस विलय से पहले कहां बहाल कर सकता है?
धन्यवाद - यदि यह महत्वपूर्ण है तो यह केवल दो डेवलपर्स के साथ एक साझा रेपो है, इसलिए यह भारी परिवर्तनों में नहीं है।
जोड़ने के लिए संपादित करें: कृपया मुझसे बात करें जैसे कि मैं एक बच्चा था। मुझे यह गिट सामान स्वीकार करना है अभी भी मुझे भ्रमित कर रहा है, इसलिए मैं एक बिजली उपयोगकर्ता से बहुत दूर हूं! धन्यवाद
जोखिम भरा लेकिन अगर केवल दो डेवलपर्स हैं, तो मुझे लगता है कि यह ठीक है। अगर आप गड़बड़ करते हैं तो ऐसा करने से पहले अपने रेपो की कम से कम एक प्रति बैकअप लेना समझदारी हो सकती है। –
गिट पुश मूल मास्टर-एफ –
धन्यवाद felipefg - ऐसा लगता है कि यह पूरी तरह से काम करता है! मैं स्पष्ट उत्तर की सराहना करता हूं। – julio