Можете объяснить, что делает команда Git reset и в каких сценариях ее используют?
Answer from AI
sobes.tech AI
Команда git reset используется для отмены изменений и перемещения указателя текущей ветки (HEAD) на другой коммит. Она может изменять состояние индекса (staging area) и рабочего каталога в зависимости от параметров.
Основные варианты:
-
git reset --soft <commit>— перемещает HEAD на указанный коммит, оставляя изменения в индексе и рабочем каталоге. Используется, чтобы отменить коммиты, но сохранить изменения для повторного коммита. -
git reset --mixed <commit>(по умолчанию) — перемещает HEAD и сбрасывает индекс, но изменения остаются в рабочем каталоге. Позволяет отменить коммиты и убрать изменения из индекса. -
git reset --hard <commit>— перемещает HEAD, сбрасывает индекс и рабочий каталог, полностью удаляя все изменения после указанного коммита.
Сценарии использования:
- Отмена последних коммитов.
- Удаление изменений из индекса.
- Полный откат к предыдущему состоянию.
Пример:
git reset --hard HEAD~1 # откат на один коммит назад с удалением изменений