Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა აკეთებს 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-ის უკან დაბრუნება და ცვლილებების წაშლა