Junior — Middle
Git reset buyruğinin asosiy turlarini sanab o'tib, tushuntira olasizmi?
sobes.tech AI
AIdan javob
git reset komandasi Gitda o'zgarishlarni bekor qilish va HEAD ko'rsatkichini harakatlantirish uchun ishlatiladi. git reset ning asosiy turlari indeks va ishchi katalogga ta'sir qilish darajasiga qarab farqlanadi:
-
git reset --soft <commit>
- HEAD ni ko'rsatilgan commit ga harakatlantiradi.
- O'zgarishlar indeks va ishchi katalogda qoladi.
- Agar commitlarni bekor qilish va o'zgarishlarni qayta commit qilish uchun saqlash kerak bo'lsa, ishlatiladi.
-
git reset --mixed <commit> (standart)
- HEAD ni ko'rsatilgan commit ga harakatlantiradi.
- O'zgarishlar indeksdan olib tashlanadi (staged), ammo ishchi katalogda qoladi.
- O'zgarishlarni indeksdan bekor qilish imkonini beradi, lekin fayllardan o'chirmaydi.
-
git reset --hard <commit>
- HEAD ni ko'rsatilgan commit ga harakatlantiradi.
- Indeks va ishchi katalogni shu commit holatiga qaytaradi.
- Saqlanmagan barcha o'zgarishlar yo'qoladi.
Misol:
# So'nggi commitni bekor qilish, o'zgarishlarni indeksda saqlash
git reset --soft HEAD~1
# So'nggi commitni bekor qilish va o'zgarishlarni indeksdan olib tashlash, lekin fayllarda saqlash
git reset --mixed HEAD~1
# So'nggi commit va o'zgarishlarni to'liq bekor qilish
git reset --hard HEAD~1
--hard ni ehtiyotkorlik bilan ishlatish muhim, chunki muhim ma'lumotlar yo'qolishi mumkin.