Как перейти к определённому коммиту в Git и просмотреть состояние проекта

Самый безопасный способ посмотреть старый коммит без изменения текущей рабочей копии — создать отдельный git worktree на нужном hash в detached HEAD.

Короткий ответ

Что ответить на собеседовании

Самый безопасный способ посмотреть старый коммит без изменения текущей рабочей копии — создать отдельный 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 для этой задачи не нужен.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее