मैं उस कमिट का पूरा प्रतिबद्ध संदेश कैसे प्राप्त करूं जिसे मैं हार्ड रीसेट करता हूं?

git reflog का उपयोग करके इसे करने का एक तरीका हो सकता है, हालांकि, क्या हमारे पास दूसरा तरीका है?

1
dhgoratela 6 अक्टूबर 2020, 06:50
1
यदि आपने वास्तव में इस प्रतिबद्धता को हटा दिया है, तो हाँ, रीफ्लॉग का उपयोग करने का एक अच्छा तरीका है।
 – 
Tim Biegeleisen
6 अक्टूबर 2020, 06:53

1 उत्तर

सबसे बढ़िया उत्तर

आप अपने पिछले HEAD के माध्यम से वापस जाने के लिए git log -g का उपयोग कर सकते हैं, लेकिन इसमें इस बारे में जानकारी नहीं होगी कि HEAD क्यों स्थानांतरित हुआ।

आप लॉग को सीधे .git/logs/HEAD से पढ़ सकते हैं। यह आपको कुछ भी नहीं दिखाएगा git reflog नहीं होगा, लेकिन रीसेट की आईडी खोजने के लिए एक उपकरण विकसित करना आसान हो सकता है।

git reflog आपके सभी पिछले HEAD (आपके द्वारा चेक किए गए कमिट) को क्रम में दिखाएगा और HEAD क्यों स्थानांतरित हुआ। git reflog, git log के समान सभी विकल्प अपनाता है। उदाहरण के लिए, आप पूर्ण प्रतिबद्ध संदेशों को देखने के लिए git reflog --pretty=medium के साथ अधिक संदर्भ प्राप्त कर सकते हैं। हालांकि, git reflog से कमिट आईडी और फिर git log <that id> के साथ कमिट मैसेज प्राप्त करना आसान है।

एक रीसेट स्पॉट करना आसान होना चाहिए। उदाहरण के लिए, यहां एक git reset --hard HEAD^1 है।

70cc722 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^1
5cbd5ea HEAD@{1}: reset: moving to HEAD
4
Schwern 6 अक्टूबर 2020, 07:21