Перейти к конкретному коммиту из репозитория git
Иногда при работе с git-репозиторием вы хотите вернуться к определенной фиксации (ревизии), чтобы сделать снимок вашего проекта в определенное время. Для этого вам понадобится хэш SHA-1 коммита, который вы легко найдете, проверив журнал командой:
git log --abbrev-commit --pretty=oneline
, который даст вам компактный список всех коммитов и короткую версию хэша SHA-1.
Теперь, когда вы знаете хеш коммита, на который хотите перейти, вы можете использовать одну из следующих 2 команд:
git checkout HASH
или
git reset --hard HASH
1020 * фотографии *
git checkout <commit> <paths>
Говорит git заменить текущее состояние путей на их состояние в данном коммите. Пути могут быть файлами или каталогами.
Если ветка не указана, git принимает коммит HEAD.
git checkout <path> // restores path from your last commit. It is a 'filesystem-undo'.
Если путь не указан, git перемещается HEAD
к данному коммиту (тем самым изменяя коммит, над которым вы сидите и работаете).
git checkout branch //means switching branches.
сброс
git reset <commit> //re-sets the current pointer to the given commit.
Если вы находитесь на ветке (обычно так и должно быть), HEAD
и эта ветка перемещаются для фиксации.
Если вы находитесь в отключенном HEAD
состоянии, git reset только перемещается HEAD
. Чтобы сбросить ветку, сначала проверьте ее.
Если вы хотите узнать больше о разнице между git reset и git checkout, я бы порекомендовал прочитать официальный блог git .