Що робить команда git reset?
git reset змінює стан репозиторію, переміщуючи вказівник гілки (HEAD) і, залежно від режиму, оновлюючи staging area та робоче дерево.
Основне призначення
git reset використовується для:
- скасування комітів
- відкату гілки до попереднього коміту
- зміни стану staging area
- (у жорсткому режимі) повного видалення змін
Як працює git reset
Команда завжди:
- переміщує вказівник поточної гілки на вказаний коміт
Додатково, залежно від режиму, вона може:
- оновлювати staging area
- оновлювати working directory
Режими git reset
--soft
bash
git reset --soft HEAD~1- скасовує коміт
- зміни залишаються в staging area
- робочі файли не змінюються
--mixed (типово)
bash
git reset HEAD~1- скасовує коміт
- staging area очищається
- зміни залишаються у working directory
--hard
bash
git reset --hard HEAD~1- скасовує коміт
- очищає staging area
- видаляє зміни з working directory призводить до втрати даних
Що git reset НЕ робить
- не створює нових комітів
- не призначений для публічних гілок
Важливе правило
git reset переписує історію.
Використовувати безпечно тільки для локальних, неопублікованих комітів.
Ключове формулювання для співбесіди
git resetпереміщує вказівник гілки на інший коміт і, залежно від режиму, оновлює staging area та робоче дерево, тим самим скасовуючи коміти і змінюючи історію.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.