Introduzione

Devi annullare delle modifiche? Devi ritornare a uno stato precedente? Git reset è un comando molto potente che permette di tornare indietro e riscrivere la storia.

I 3 tree di git

Per capire git reset cosa fa, dobbiamo avere ben presente i tre “tree” di git.

  • Working Directory - La cartella di lavoro
  • Index - Il contenuto del prossimo commit che verrà fatto.
  • HEAD - Puntatore al branch attivo.

Git reset —soft

Questa è la prima variante del comando reset. Questa opzione sposta solamente HEAD al commit indicato col comando.

git reset commitid --soft

Git reset —mixed

Questa seconda variante è quella di default, quando non viene specificato altro. In questo modo git opera anche sull’INDEX. Viene quindi eseguito quanto fatto nella variante SOFT e in più viene riportato INDEX al contenuto del commit scelto.

git reset commitid --mixed

Git reset —hard

La terza variante, —hard, aggiunge un ulteriore step a quanto fatto dalla —mixed. Git opera anche nella working folder, riportandola al contenuto del commit indicato.

git reset commitid --hard

Videolezione

https://www.youtube.com/watch?v=-LhhoflRGnI