Sobes.tech
Junior

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.

  1. Fayllarni o'zgartirmasdan lokal commitni bekor qilish (soft reset):

    git reset --soft HEAD~1
    # HEADni bir commit orqaga qaytaradi, o'zgarishlar indeksda (staged) qoladi.
    
  2. 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).
    
  3. 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.
    
  4. 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.