Junior
Nəzarət sistemində son commit necə ləğv edilir?
sobes.tech Süni İntellekt
AI-dan cavab
Git istifadə edərkən, bir neçə üsul mövcuddur:
1. Sonuncu commit-i ləğv etmək, dəyişiklikləri saxlayaraq:
git reset --soft HEAD~1
# Sonuncu commit-i ləğv edir, indeksdəki dəyişikliklər qalır
# İşçi qovluğunda dəyişikliklər dəyişmir
2. Sonuncu commit-i ləğv etmək, indeksdəki dəyişiklikləri ləğv etmək, amma işçi dəyişikliklərini saxlamaq:
git reset --mixed HEAD~1
# Sonuncu commit-i ləğv edir və dəyişikliklərin indeksləşdirilməsini ləğv edir
# İşçi qovluğunda dəyişikliklər dəyişmir
3. Sonuncu commit-i tamamilə ləğv etmək, dəyişikliklər daxil olmaqla:
git reset --hard HEAD~1
# Sonuncu commit-i tamamilə ləğv edir
# İndeksdəki dəyişikliklər və işçi qovluğu sonuncu commit-dən əvvəlki vəziyyətə qaytarılır
# İşçi qovluğundakı bütün saxlanılmamış dəyişikliklər itirilir
4. Sonuncu dəyişiklikləri ləğv edən yeni commit yaratmaq:
git revert HEAD
# Sonuncu commit-in dəyişikliklərini ləğv edən yeni commit yaradır
# Tarixçə saxlanılır, bu, ictimai şaxələr ilə işləyərkən təhlükəsiz yoldur
Seçim, istənilən nəticəyə və şaxənin yayımlanıb-yayımlanmadığına bağlıdır. --hard ehtiyatla istifadə olunmalıdır, çünki məlumat itkisinə səbəb ola bilər. git revert digər inkişaf etdiricilər tərəfindən istifadə olunan şaxələr ilə işləyərkən üstünlük təşkil edir.