2010-10-18 10 views
6

मैंने git pull --rebase चलाया, और git rebase --abort का उपयोग करके कई मर्ज-टकराव को ठीक करने के बाद इसे निरस्त कर दिया।गिट: विफल रिबेस के बाद अलग-अलग भंडार को पुनर्स्थापित करें

पुन: प्रयास करने से पहले, git status ने मुझे बताया: "आपकी शाखा 20 मूल द्वारा 'मूल/मास्टर' से आगे है।" अब मुझे मिलता है: "आपकी शाखा और 'मूल/मास्टर' अलग हो गए हैं, और क्रमशः 15 और 5 अलग-अलग प्रतिबद्ध हैं।"

मैंने पहले से ही नवीनतम प्रतिबद्धता (git reset --hard c15...e30) पर रीसेट कर दिया है, लेकिन स्थिति संदेश अभी भी वही है।

मैं अपनी रिपोजिटरी को राज्य में कैसे वापस कर सकता हूं, इससे पहले कि मैंने गड़बड़ शुरू की थी? और वर्तमान स्थिति और पिछले के बीच क्या अंतर है?

धन्यवाद।

+1

आपकी वर्तमान शाखा (आउटपुट की पहली पंक्ति) के रूप में गिट स्थिति रिपोर्ट क्या करती है? इसके अलावा, संदर्भ के लिए, मूल/मास्टर, yourbranch और जहां आप अभी हैं ("गिट लॉग" के शीर्ष) के लिए प्रासंगिक प्रतिबद्ध हैंश क्या हैं? अगर आपको एक की जरूरत है तो आपको बेहतर तस्वीर देने के लिए गिटक का उपयोग करें। –

उत्तर

1

git rebase --abort आपको अपने मूल हेड पर वापस ले जाना चाहिए था। मुझे यकीन नहीं है कि आप "मर्ज-टकराव का उपयोग कर ... निरस्त कर रहे हैं" का क्या मतलब है। क्या आपका मतलब --continue था?

वैसे भी, अब करने की बात रिफ्लॉग से परामर्श लेती है। रेफ्लॉग एक स्थानीय, अस्थायी लॉग है जहां आपके सभी संदर्भ हैं। यदि आप .git/logs/HEAD देखते हैं तो आप देख सकते हैं कि हेड (कामकाजी सेट) कहां है। .git/logs/refs/... के तहत आप देख सकते हैं कि आपकी सभी शाखाएं (स्थानीय और दूरस्थ) कहां हैं। लॉग में प्रत्येक पंक्ति कुछ क्रिया को दर्शाती है। शुरुआती एसएचए, समापन, उपयोगकर्ता, समय, और एक स्ट्रिंग जो वर्णन करती है कि किस बदलाव ने परिवर्तन किया है। आप जो चाहते हैं उसे पा सकते हैं और reset इसे वापस पा सकते हैं।

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