Versiya nazorati tizimida oxirgi commitni qanday bekor qilish mumkin?
sobes.tech AI
AIdan javob
So'nggi commitni bekor qilishning bir nechta usullari mavjud, bu u yuborilgan yoki yuborilmaganligiga va bekor qilish maqsadiga bog'liq.
-
Fayllarni o'zgartirmasdan lokal commitni bekor qilish (soft reset):
git reset --soft HEAD~1 # HEADni bir commit orqaga qaytaradi, o'zgarishlar indeksda (staged) qoladi. -
Lokal commitni bekor qilish, o'zgarishlarni ishchi katalogda qoldirish (mixed reset - standart):
git reset HEAD~1 # HEADni bir commit orqaga qaytaradi. O'zgarishlar ishchi katalogda qoladi (unstaged). -
Lokal commitni to'liq bekor qilish, ishchi katalog va indeksdagi o'zgarishlarni o'chirish (hard reset):
git reset --hard HEAD~1 # HEADni bir commit orqaga qaytaradi va barcha lokal o'zgarishlarni bekor qiladi. Diqqat! Ma'lumotlar yo'qotilishi mumkin. -
Uzoqdagi repositoryga yuborilgan commitni bekor qilish, avvalgi o'zgarishlarni bekor qiluvchi yangi commit yaratish:
git revert HEAD # So'nggi commit o'zgarishlarini teskari qiladigan yangi commit yaratadi. Jamoat tarmoqlari uchun xavfsiz.
Usul tanlovi vaziyatga bog'liq. Jamoat tarmoqlari uchun git revert tavsiya etiladi, chunki u commit tarixini o'zgartirmaydi. Mahalliy o'zgarishlar yoki faqat siz ishlayotgan tarmoqlar uchun git reset ishlatishingiz mumkin.