Оё метавонед шарҳ диҳед, ки командаи Git reset чӣ мекунад ва дар кадом сенарияҳо истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Команди git reset барои бекор кардани тағйиротҳо ва гузоштани ишорагари шоха (HEAD) ба дигар коммит истифода мешавад. Он метавонад ҳолати индекс (майдони омодасозӣ) ва директорияи кориро вобаста ба параметрҳо тағйир диҳад.
Вариантҳои асосӣ:
-
git reset --soft <commit>— HEAD-ро ба коммити нишоншуда кӯчондан, тағйиротҳоро дар индекс ва директорияи корӣ нигоҳ медорад. Барои бекор кардани коммитҳо, аммо нигоҳ доштани тағйиротҳо барои коммити нав истифода мешавад. -
git reset --mixed <commit>(тавсияшуда) — HEAD-ро кӯчондан ва индексро барқарор кардан, аммо тағйиротҳо дар директорияи корӣ боқӣ мемонанд. Имкон медиҳад, ки коммитҳоро бекор кардан ва тағйиротҳоро аз индекс хориҷ кардан. -
git reset --hard <commit>— HEAD-ро кӯчондан, индекс ва директорияи кориро барқарор кардан ва ҳама тағйиротҳоро пас аз коммити нишоншуда пурра нест кардан.
Ҳолатҳои истифода:
- Бекор кардани охирин коммитҳо.
- Ҳамагон тағйиротҳоро аз индекс хориҷ кардан.
- Барқароркунии пурра ба ҳолати қаблӣ.
Масалан:
git reset --hard HEAD~1 # баргаштан ба як коммит пештар бо нест кардани тағйиротҳо