Sobes.tech
Junior — Middle

Можете ли да обясните какво прави командата Git reset и в кои сценарии се използва?

sobes.tech AI

Отговор от AI

Командата git reset се използва за отменяне на промени и преместване на указателя на текущия клон (HEAD) към друг commit. Тя може да променя състоянието на индекса (staging area) и работната директория в зависимост от параметрите.

Основни опции:

  • git reset --soft <commit> — преместване на HEAD към посочения commit, като оставя промените в индекса и работната директория. Използва се за отменяне на commit-и, като съхранява промените за нов commit.

  • git reset --mixed <commit> (по подразбиране) — преместване на HEAD и нулиране на индекса, но промените остават в работната директория. Позволява отменяне на commit-и и премахване на промените от индекса.

  • git reset --hard <commit> — преместване на HEAD, нулиране на индекса и работната директория, като напълно изтрива всички промени след посочения commit.

Сценарии на използване:

  • Отмяна на последните commit-и.
  • Премахване на промени от индекса.
  • Пълно връщане към предишното състояние.

Пример:

git reset --hard HEAD~1  # връщане с един commit назад с изтриване на промените