Самый безопасный способ посмотреть старый коммит без изменения текущей рабочей копии — создать отдельный git worktree на нужном hash в detached HEAD.
Как перейти к определённому коммиту в Git и просмотреть состояние проекта
Самый безопасный способ посмотреть старый коммит без изменения текущей рабочей копии — создать отдельный git worktree на нужном hash в detached HEAD.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
В ветке master находятся несколько коммитов: #12, #64, #75. Последний из них — #75. Необходимо переключиться на коммит #64 и увидеть, как выглядел проект в тот момент, при этом сохранив все текущие изменения.
Ответ
Самый безопасный способ посмотреть старый коммит без изменения текущей рабочей копии — создать отдельный git worktree на нужном hash в detached HEAD.
git status --short
git log --oneline
git worktree add --detach ../project-at-64 <hash-коммита-64>
Замените маркер настоящим hash: #64 из описания не является Git-ссылкой сам по себе. Текущее дерево, staged и незакоммиченные изменения останутся на месте. В новой папке будет состояние выбранного коммита. Если нужно продолжать разработку от него, создайте там отдельную ветку. Для просмотра файлов без нового checkout также подходит git show :<путь>. Reset для этой задачи не нужен.