Выполнение любого вида reset
с предыдущим коммитом удалит ваши последующие коммиты из вашей ветви, так что они больше не будут его частью. коммит - это предметы, которые вы видите, когда делаете git log
.
Это не означает, что эти коммиты мгновенно уничтожаются, но вы не хотите от них избавиться,Вы, вероятно, захотите создать другую ветку и использовать ее для просмотра вашего предыдущего коммита, чтобы в вашей оригинальной ветке не было последних коммитов.(Ключевые слова для создания новой ветви: git branch <name>
или git checkout -b <name>
. **)
Хард-против-мягкий сброс больше связан с тем, что происходит с файлами в вашем рабочем дереве, и, что более важно, с незафиксированнымиизменения.По сути, единственное, что уничтожается, когда вы указываете --hard
, это ваши незафиксированные изменения.Пока вы оставили ветку при последнем коммите (или помните идентификатор коммита), вы всегда можете восстановить файлы, переключившись обратно на эту ветку или коммит.(то есть git checkout
)
** На самом деле вы можете осмотреться, не создавая дополнительную ветвь, и в ответе Даниэля Питтмана это описано.