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 სასურველია, როდესაც მუშაობთ სხვა დეველოპერების მიერ გამოყენებულ ფილიალებთან.