შეგიძლიათ ახსნათ, რა აკეთებს Git reset ბრძანება და რომელ სცენარებში გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
git reset ბრძანება გამოიყენება ცვლილებების გაუქმებისთვის და მიმდინარე ფილიალის (HEAD) მაჩვენებლის გადატანისთვის სხვა commit-ზე. ის შეიძლება შეცვალოს ინდექსის (staging area) და სამუშაო დირექტორიის მდგომარეობა პარამეტრებზე დამოკიდებული.
ძირითადი ვარიანტები:
-
git reset --soft <commit>— გადადის HEAD-ს მითითებულ commit-ზე, დატოვებს ცვლილებებს ინდექსში და სამუშაო დირექტორიაში. გამოიყენება commit-ების გაუქმებისთვის, მაგრამ ცვლილებები ინახება ახალი commit-ისთვის. -
git reset --mixed <commit>(ნაგულისხმევი) — გადადის HEAD-ს და ნულიდან აყენებს ინდექსს, მაგრამ ცვლილებები რჩება სამუშაო დირექტორიაში. საშუალებას აძლევს გაუქმოს commit-ები და წაშალოს ცვლილებები ინდექსიდან. -
git reset --hard <commit>— გადადის HEAD-ს, ნულიდან აყენებს ინდექსს და სამუშაო დირექტორიას, სრულად წაშლის ყველა ცვლილებას მითითებულ commit-დან შემდეგ.
გამოყენების სცენარები:
- ბოლო commit-ების გაუქმება.
- ცვლილებების წაშლა ინდექსიდან.
- სრული დაბრუნება წინამორბედ მდგომარეობაში.
მაგალითი:
git reset --hard HEAD~1 # ერთი commit-ის უკან დაბრუნება და ცვლილებების წაშლა