Как мне вернуться к моим предыдущим коммитам после исправления забытого форка?

Я работаю над книгой Rspec и забыл разветвить репозиторий примеров, прежде чем начал работать. Я посмотрел, как это исправить, и следовал указаниям в забыл сделать форк на GitHub перед тем, как начать свою работу. Однако в процессе я отменил все настройки своей среды, и теперь я получаю кучу ошибок о nokogiri.

Я имел дело со старыми версиями нокогири и раньше, и устранение неполадок, которые могут занять вечность, поэтому я хочу просто вернуться к тому, что было. Проблема в том, что «журнал git» сообщает мне только об истории git репозитория, который я разветвил, а не о работе, которую я проделал за последние несколько дней.

Я уверен, что он где-то здесь, так как git ничего не забывает, но я не знаю, как его найти. Помощь!


person a.light.holder    schedule 13.01.2016    source источник
comment
это помогает (в частности, git reflog), но все еще не работает так, как раньше. Тем не менее, по крайней мере, это не nokogiri, поэтому я сделал новую ветку из коммита, который работал, и я собираюсь посмотреть, исправит ли это возня с базой данных.   -  person a.light.holder    schedule 14.01.2016
comment
нет, не база данных, а работа, которую я начал. Как только я прокомментировал это, я вернулся к тому, где был раньше. Спасибо!   -  person a.light.holder    schedule 14.01.2016


Ответы (1)


Перейдите к исходному репо и получите SHA его основной ветки (при условии, что это то место, где вы разветвлялись).

Предположим, что это ша ABCDE.

Прежде чем мы внесем изменения, убедитесь, что у вас есть чистый рабочий каталог и индекс, поэтому при необходимости зафиксируйте, а затем запустите git status, чтобы убедиться, что все чисто.

Теперь давайте переработаем ваш репозиторий, чтобы было понятно, когда вы разветвляетесь:

git branch myFork
git checkout master
git reset --hard ABCDE
git checkout myFork

Теперь вы можете сравнить свою ветку myFork с master, чтобы увидеть различия. Например, вы можете сделать:

git diff master..myFork

Когда вы работаете, рекомендуется часто совершать коммиты всякий раз, когда вы достигаете стабильной точки. Таким образом, вы можете отслеживать небольшие вехи и возвращаться, если застряли.

Не беспокойтесь о слишком большом количестве коммитов... вы всегда можете объединить коммиты, прежде чем отправлять их в общедоступный репозиторий.

person Jonathan.Brink    schedule 13.01.2016