Ինչպե՞ս չեղարկել վերջին հանձնառությունը տարբերակների կառավարման համակարգում։
sobes.tech AI
Պատասխան AI-ից
Վերջին հանձնառումը չեղյալ համարելու մի քանի եղանակ կա, կախված նրանից, թե արդյոք այն ուղարկվել է հեռավոր պահոց և ինչ է չեղյալ համարելու նպատակը:
-
Տեղական հանձնառումը չեղյալ համարել առանց ֆայլերի փոփոխության (soft reset):
git reset --soft HEAD~1 # Վերադարձնում է HEAD-ը մեկ հանձնառու առաջ, փոփոխությունները մնում են ինդեքսում (staged): -
Տեղական հանձնառումը չեղյալ համարել, թողնելով փոփոխությունները աշխատանքային դաշտում (mixed reset - ըստ նախնական կարգավորումների):
git reset HEAD~1 # Վերադարձնում է HEAD-ը մեկ հանձնառու առաջ: Փոփոխությունները մնում են աշխատանքային դաշտում (unstaged): -
Ամբողջությամբ չեղյալ համարել տեղական հանձնառումը, ներառյալ փոփոխությունների հեռացումը աշխատանքային դաշտից և ինդեքսից (hard reset):
git reset --hard HEAD~1 # Վերադարձնում է HEAD-ը մեկ հանձնառու առաջ և ջնջում բոլոր տեղական փոփոխությունները: Զգուշացում! Տվյալների կորուստ: -
Չեղյալ համարել այն հանձնառումը, որը արդեն ուղարկվել է հեռավոր պահոց, ստեղծելով նոր հանձնառում, որը հակադարձում է նախորդ փոփոխությունները:
git revert HEAD # Ստեղծում է նոր հանձնառում, որը հակադարձում է վերջին հանձնառուի փոփոխությունները: Անվտանգ է հանրային ճյուղերի համար:
Ընտրությունը կախված է իրավիճակից: Հանրային ճյուղերի համար խորհուրդ է տրվում օգտագործել git revert, քանի որ այն չի փոխում հանձնառումների պատմությունը: Տեղական փոփոխությունների կամ միայնակ աշխատող ճյուղերի համար կարող եք օգտագործել git reset։