2012-04-17 18 views
21

यह इस प्रकार है:Git वापस लाएं प्रतिबद्ध/धक्का लेकिन रखने के परिवर्तन

  • मैं फ़ाइलों को ए और बी है कि मैं

  • संशोधित मैं केवल प्रतिबद्ध रहें और पुश करने के लिए लगता है कि कर रहा हूँ, लेकिन गलती से है दोनों ने ए और बी

  • मैंने गिटब पर "गिट पुश पुरानी-आईडी: मास्टर" किया था, यह दिखाता है कि "मास्टर अब पुराना आईडी है" जहां पुरानी आईडी मेरे सामने आखिरी प्रतिबद्धता है, इसलिए मुझे लगता है कि यह करने से पहले यह वापस आ गया है।

प्रश्न:

  • अपने स्थानीय पर, मैं कैसे प्रतिबद्ध है पूर्ववत कि है ए और बी, और केवल एक प्रतिबद्ध है, और केवल एक धक्का?

नोट: मुझे अपने स्थानीय पर ए और बी दोनों के लिए परिवर्तन रखने की आवश्यकता है। अंतिम परिणाम होना चाहिए:

  • स्थानीय - नई एक और नई बी
  • Github - नई एक और पुराने बी
+1

क्यों न सिर्फ पिछले बी चेकआउट और फिर प्रतिबद्ध है और यह धक्का ? –

+0

जो काम करेगा :) –

उत्तर

37
$ git reset <old-id> # Undo the commit after old-id 
$ git add A    # stage A for a new commit 
$ git commit   # make the new commit 
$ git push    # push it