Sobes.tech
Junior — Middle
85

git reset командаларының --soft, --mixed және --hard параметрлерімен айырмашылықтарын түсіндіре аласыз ба?

AI-дан жауап

sobes.tech AI

git reset командасы тармақ көрсеткішін жылжытуды және индекс пен жұмыс каталогының күйін өзгерту үшін пайдаланылады. Параметрлер арасындағы айырмашылықтар:

  • --soft — тармақ көрсеткішін (HEAD) көрсетілген commit-ке ауыстырады, ал индекс пен жұмыс каталогын өзгеріссіз қалдырады. Өзгерістер commit-ке дайындалғандай қалады.

  • --mixed (әдепкі) — тармақ көрсеткішін көрсетілген commit-ке ауыстырады және индексін қайтарады, бірақ жұмыс каталогын өзгеріссіз қалдырады. Өзгерістер дайындалмаған күйге келеді.

  • --hard — тармақ көрсеткішін, индекс пен жұмыс каталогын көрсетілген commit-ке қайтарады. Барлық сақталмаған өзгерістер жойылады.

Мысал:

# HEAD-ты алдыңғы commit-ке ауыстыру, өзгерістерді индексінде сақтау
git reset --soft HEAD~1

# HEAD-ты алдыңғы commit-ке ауыстыру, индексін қайта құру, өзгерістерді жұмыс каталогында сақтау
git reset --mixed HEAD~1

# HEAD-ты алдыңғы commit-ке ауыстыру, индекс пен жұмыс каталогын қайта құру
git reset --hard HEAD~1