Sobes.tech
Junior — Middle
171

Vai jūs varat izskaidrot, ko dara Git reset komanda un kādos scenārijos to izmanto?

Uzņēmumi, kur jautāja
AndersenAndersen

Atbilde no 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  # откат на один коммит назад с удалением изменений