Временно переключите рабочую копию на конкретную фиксацию Git
Как переключиться на конкретный Git commit , не потеряв все сделанные после него коммиты?
Я хочу, чтобы локальные файлы были изменены, но база данных коммитов останется нетронутой, только текущий указатель позиции установлен на текущий выбранный commit.
Я хочу изменить состояние файла на конкретный commit, запустить проект и, когда закончите, восстановить файлы до последнего фиксации.
Как сделать это, не зацикливая всю папку проекта?
Ответы
Ответ 1
Если вы находитесь в определенной ветке mybranch
, просто продолжайте и git checkout commit_hash
. Затем вы можете вернуться в свою ветку на git checkout mybranch
. Сегодня у меня была одна и та же игра, делящая по себе ошибку. Также вы должны знать о git bisect.
Ответ 2
Сначала используйте git log
, чтобы увидеть журнал, выберите требуемый коммит, запишите хэш файл sha1, который используется для идентификации фиксации. Затем запустите git checkout hash
. После того, как вы закончите, git checkout original_branch
. Это имеет то преимущество, что не перемещает HEAD, он просто переключает рабочую копию на конкретную фиксацию.