Sobes.tech
Junior

როგორ გაუქმოთ ბოლო commit ვერსიების კონტროლის სისტემაში?

sobes.tech AI

პასუხი AI-სგან

როდესაც იყენებთ Git-ს, არსებობს რამდენიმე გზა:

1. უკანასკნელი კომიტის გაუქმება, ცვლილებების შენარჩუნებით:

git reset --soft HEAD~1
# უკანასკნელი კომიტი გაუქმებულია, ინდექსირებული ცვლილებები რჩება
# სამუშაო კატალოგი არ იცვლება

2. უკანასკნელი კომიტის გაუქმება, ინდექსირებული ცვლილებების გაუქმება, მაგრამ სამუშაო ცვლილებების შენარჩუნება:

git reset --mixed HEAD~1
# უკანასკნელი კომიტი გაუქმებულია და ცვლილებების ინდექსირება გაუქმებულია
# სამუშაო კატალოგი არ იცვლება

3. სრული გაუქმება უკანასკნელი კომიტისა, ცვლილებებთან ერთად:

git reset --hard HEAD~1
# სრული გაუქმება უკანასკნელი კომიტისა
# ინდექსირებული ცვლილებები და სამუშაო კატალოგი დაბრუნდება უკანასკნელი კომიტის წინათ მდგომარეობაში
# ყველა არასასურველი ცვლილება დაიკარგება

4. ახალი კომიტის შექმნა, რომელიც უკან იხევს უკანასკნელ ცვლილებებს:

git revert HEAD
# ქმნის ახალ კომიტს, რომელიც უკან იხევს უკანასკნელ კომიტს
# ისტორია ინახება, ეს უსაფრთხო მეთოდია საჯარო ფილიალებთან მუშაობის დროს

არჩევა დამოკიდებულია სასურველ შედეგზე და იმაზე, იყო თუ არა ფილიალი გამოქვეყნებული. --hard უნდა გამოიყენოს ფრთხილად, რადგან შეიძლება გამოიწვიოს მონაცემთა დაკარგვა. git revert სასურველია, როდესაც მუშაობთ სხვა დეველოპერების მიერ გამოყენებულ ფილიალებთან.