अब के रूप में मैं अपने प्रोजेक्ट के लिए प्रतिबद्ध बना रही हूँ यह पता चलता है SHA-1 काम कर शाखा (मास्टर के बजाय)
इस रूप में कमांड लाइन पर शायद मतलब है कि आप एक "अलग हेड" है। एक अलग सिर बिंदु सीधे एक शाखा को इंगित करने के बजाय प्रतिबद्ध करने के लिए बिंदु (जो तब एक प्रतिबद्धता को इंगित करता है)। एक अलग सिर एक अनाम शाखा की तरह है।
यह स्थिति git checkout HEAD^
कमांड के कारण HEAD^
के रूप में एक शाखा नाम के लिए एक प्रतिबद्धता को संदर्भित करती है। आप शायद करना चाहता था git reset --hard HEAD^
- जबकि मास्टर अभी भी सक्रिय शाखा करने वाली (यह अभी भी डिस्क पर मौजूद हैं और जब तक reflog में अपने प्रवेश की समय सीमा समाप्त reflog माध्यम से पहुंच योग्य होगा) ड्रॉप सबसे हाल ही में मास्टर से प्रतिबद्ध था ।
मैं कैसे HEAD नवीनतम को इंगित कर सकते प्रतिबद्ध मैं से काम कर रहा हूँ?
HEAD
हमेशा वह प्रतिबद्धता है जिससे आप काम कर रहे हैं, चाहे वह अलग हो या नहीं।
तुम्हारा मतलब हैं, "मैं गुरु कैसे इंगित कर सकते हैं नवीनतम के लिए प्रतिबद्ध रहा से काम कर रहा हूँ?", तो वह पूछ रूप में ही है "मैं मास्टरHEAD
को इंगित करने के लिए कैसे मिल सकता है?"।जवाब
git branch -f master HEAD
(वास्तव में, आप HEAD
बंद छोड़ सकते हैं, क्योंकि यह डिफ़ॉल्ट है) है। वर्तमान में HEAD
पर प्रतिबद्धता के लिए यह जबरन मास्टर रीसेट करता है। कि एक और शाखा या वर्तमान HEAD
के माध्यम से पहुंच योग्य नहीं हैं मास्टर पर कोई करता आगे से केवल reflog के माध्यम से पहुंचा जा सकता हो जाएगा और अंत में कचरा एकत्र किया जाएगा (यह दूर मास्टर कि में नहीं है में फेंकता है, मास्टर, कुछ भी से HEAD
)। इसके बाद भी आप अपने HEAD
को इसके बाद इस अद्यतन मास्टर को दोबारा जोड़ना चाहते हैं।
git checkout master
दो आदेशों के बजाय
ऊपर, आप HEAD
पहले, तो इन लगातार दो आदेशों के साथ मास्टर रीसेट पुनः अनुलग्न कर सकते हैं:
git checkout master # reattach, commit at HEAD is now the unwanted commit
git reset --hard [email protected]{1} # reset master to the commit at HEAD before the prior command
[email protected]{1}
अंकन reflog में प्रविष्टियों का उपयोग किया जाता है। इस उदाहरण का मतलब है कि "पिछले HEAD
" (यानी HEAD
पर प्रतिबद्धता HEAD
प्रभावित होने वाले सबसे हालिया ऑपरेशन से पहले ")।
स्रोत
2009-11-10 06:27:34
गहराई से जाने के लिए धन्यवाद। –