2010-07-07 13 views
14

Git हैं कहते हैं कि मैं ए और बी के लिए प्रतिबद्धGit एक वापस लाएं

A---[B] 

रद्द लेकिन तब मैं

git revert HEAD 

साथ वापस लौटने तो मैं वहाँ अब कर रहा हूँ:

[A]---B 

कैसे कर मैं अपना रिवर्ट रद्द कर देता हूं ताकि मैं बी पर वापस जा सकूं?

+0

मुझे यकीन नहीं है कि गिट में "रिवर्ट" शब्द का उपयोग कैसे किया जाता है, लेकिन आम तौर पर, किसी भी स्थानीय परिवर्तन को ओवरराइट करने का मतलब है। तो केवल एक अनावृत उपकरण ही मदद कर सकता है, लेकिन थोड़ी सी संभावनाएं हैं। – Andreas

+2

@ एंड्रियास: गिट में, एक "रिवर्ट" एक * नया * प्रतिबद्ध है जो कुछ पहले प्रतिबद्धता के आवेदन को उलट देता है। –

+0

@ ग्रेग: स्पष्टीकरण के लिए धन्यवाद। – Andreas

उत्तर

41

आप दो सामान्य विकल्प हैं:

  • वापस लाएं वापस लाएं प्रतिबद्ध (बनाने एक दूसरे वापस लाएं प्रतिबद्ध है कि आप मूल करने के लिए वापस लेता है)
  • फेंक दूर वापस करने के लिए प्रतिबद्ध

गिट रीसेट - हार्ड HEAD^

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

Git

--hard रीसेट किसी भी वापस लाएं बनाने बिल्कुल करता है बिना रोल बैक करने के लिए उपयोग कर सकते हैं।

+0

रीसेट न करें - जैसे मैंने किया, मैंने अपने रेपो में सभी विदेशी फाइलों को खो दिया! –

संबंधित मुद्दे