Можете ли да обясните какво прави командата 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 назад с изтриване на промените