سؤال

مرحبا، أنا جديد في بوابة وأحتاج إلى التراجع عن سحب، هل يمكن أن يساعد أي شخص؟!؟ إذن ما فعلته هو ...

  1. جيت الالتزام
  2. بوابة الخبث
  3. بوابة سحب - rebase.
  4. بوابة ستاش

هذا خلق حفنة من النزاعات وذهبت خطأ بعض الشيء. الآن تكشف "قائمة Git Stash" أن خبأتي لا تزال هناك. هل من الممكن إعادة ريبو إلى هذه النقطة بعد القيام الالتزام بوابة. على نحو فعال على ريبو فقط يحتوي فقط على التغييرات التي أجريتها ولا شيء جديد من الخادم؟

هل كانت مفيدة؟

المحلول

استخدام git reflog سترى قائمة برأس يرتكب وأشار إلى في الماضي

استخدام

git checkout -b after-commit HEAD@{1} # or the commit you want to recover

يمكنك إنشاء فرع جديد في هذا الموضع الدقيق والتحقق من ذلك

نصائح أخرى

في الواقع، لجعل هذا الأسهل git يحتفظ مرجعا اسمه ORIG_HEAD هذه النقاط التي كنت فيها قبل Rebase. لذلك، الأمر سهل مثل:

git reset --hard ORIG_HEAD

يجب عليك الخروج من الأمر

git reset --merge

التي تلغي الحاجة إلى ارتكاب جيت؛ git stash قبل السحب (لا أعرف عن Rebase على الرغم من)

ترجع الأمر مساحة عمل مع تغييرات غير ملتزم بها إلى الدولة قبل سحب متضارب.

يستخدم git log -g والعثور على مؤشر الالتزام الذي تريد العودة إليه، فقط تفعل git checkout فهرس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top