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