4 करता है तो और 5 केवल अपने भंडार में कर रहे हैं और करने के लिए धक्का दिया नहीं किया गया है या किसी अन्य खींच लिया भंडार से आप बस कर सकते हैं: --hard SHA1_HASH_OF_COMMIT_3
आप रीसेट
Git git log
का उपयोग करके एक प्रतिबद्धता के SHA1 हैश का पता लगा सकते हैं या आप अधिक उन्नत नामकरण तकनीकों का उपयोग कर सकते हैं, विशेष रूप से 'विशिष्टता पुरस्कार' अनुभाग में git help rev-parse
देखें।
इस कमांड का उपयोग शाखा की नोक से 4 और 5 पहुंचने योग्य नहीं होगा। हालांकि, काम नहीं किया जाएगा क्योंकि उन कामों को शाखा के रिफ्लॉग में रखा जाता है। एक पहुंच योग्य प्रतिबद्धता की पहचान के लिए आप git reflog
का उपयोग कर सकते हैं। पुनर्स्थापित करने के बाद git reset --hard
के साथ किया जा सकता है। यह पृष्ठ here यह सब कुछ अच्छी तरह से वर्णन करता है।
यह अनुशंसा की जाती है कि आप नियमित आधार पर git gc
चलाएं; कुछ आदेश स्वचालित रूप से आपके लिए भी करते हैं। यह अनिवार्य रूप से भंडार पर 'हाउसकीपिंग' करता है, जैसे "फ़ाइल संशोधन को संपीड़ित करना (डिस्क स्थान को कम करने और प्रदर्शन में वृद्धि) और पहुंचने योग्य वस्तुओं को हटाने"। पहुंचने योग्य वस्तुओं को 30 दिनों के बाद (डिफ़ॉल्ट) के बाद भंडार से हटा दिया जाता है। इसे कॉन्फ़िगरेशन विकल्प gc.reflogExpireUnreachable
का उपयोग करके बदला जा सकता है।
स्रोत
2010-08-08 12:08:10
यदि आप किसी सार्वजनिक भंडार में धकेल गए हैं तो मैं वापस लौट जाऊंगा। अन्यथा कोई अन्य विकल्प ठीक है। – xenoterracide