तुम हमेशा git revert <commit-hash>
कर सकते हैं पूर्ववत करने के लिए एक Git प्रतिबद्ध। हालांकि, ज्यादातर मामलों में यह सहायक नहीं है क्योंकि यह आपके गिट रीफ्लॉग में एक नई प्रतिबद्धता जोड़ता है।
मुझे आमतौर पर क्या करना है जब मुझे पीछे हटना है, मेरी शाखा को पहले चरण में रीसेट कर दिया गया है। ऐसा करने के लिए, एक गिट रीफ्लॉग करें और उस HEAD स्थिति की तलाश करें जिसे आप स्थानांतरित करना चाहते हैं।
[email protected]:~/myrepo$ git reflog -3
8d386b8 [email protected]{0}: commit: I did something I don't want
2a59955 [email protected]{1}: commit: Feedback from PR #792
1023102 [email protected]{2}: checkout: moving from one branch to another
अब, मैं हैश 2a59955
प्रतिबद्ध और 8d386b8
में सभी परिवर्तनों को पूर्ववत् करने स्थानांतरित करने के लिए चाहते हैं। मैं करूँगा:
Update: git reset --soft [email protected]{1}
यह मेरी शाखा को प्रारंभिक स्थिति में रीसेट कर देगा। ऐसा करने से न केवल सभी परिवर्तनों को पूर्ववत किया जाएगा, बल्कि यह भी उन सभी फ़ाइलों को ट्रैक करना बंद कर देगा जिन्हें आपने इस प्रतिबद्धता में जोड़ा होगा। हर तरह से, यह एक ही प्रतिबद्धता में सभी परिवर्तनों को पूर्ववत करने का सबसे प्रभावी तरीका है।
यह आपके सभी परिवर्तनों को पूर्ववत कर देगा। समय पर वापस जाने के लिए एक कठिन रीसेट है (कम से कम एक गिट बिंदु दृश्य से)। इस
के लिए
--soft
के स्थान पर--hard
का प्रयोग करें --amend' प्रतिबद्ध है 'Git पर एक नज़र पिछले प्रतिबद्ध या' Git revert' जहां प्रतिबद्ध आप वापस जाना चाहते हैं की आईडी सेट कर सकते हैं modifiy करने के लिए। यूनियन 'गिट लॉग' [गिट अमेन्ड] के साथ प्रतिबद्धता आईडी का पता लगा सकता है (http://git-scm.com/book/en/Git-Basics-Undoing-Things) [गिट रिवर्ट] (http: // gitready। कॉम/इंटरमीडिएट/200 9/03/16/रोलिंग-बैक-चेंज-साथ-revert.html) – dasheddot