Как я могу отменить git commit —amend -m без потери моего исходного хэш-кода и кода, который я должен был зафиксировать?

#git #commit #undo #git-amend

#git #фиксация #отменить #git-изменить

Вопрос:

Мне нужно отменить неправильный git commit —amend -m

  1. git зафиксировал без -m
  2. git commit —amend -m «сообщение о фиксации»
  3. git commit —amend -m «сообщение о фиксации» изменило мою предыдущую фиксацию вместо той, которую я должен был зафиксировать.

можно ли вернуться к шагу 1, не потеряв мой исходный хэш-код или код, который я должен был зафиксировать?

фиксация еще не нажата, кстати

Комментарии:

1. подсказка: git reflog

Ответ №1:

 git reset --soft "HEAD@{1}"
git commit -m "commit message"
 

HEAD@{1} означает «найти, где HEAD было до текущего фиксации». Вы можете убедиться, что это действительно предыдущий (неизмененный) коммит, используя git reflog и git show "HEAD@{1}" .

Комментарии:

1. Я сделал что-то не так. Я использовал терминал git внутри eclipse, затем переключился на обычную консоль git, и в итоге я потерял пару классов. Не уверен, что именно произойдет.