Կարող եք բացատրել, թե ինչ է անում 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-ով և ջնջել փոփոխությունները