Ramas
Pero, ¿por qué querrías crear una nueva rama? Esto no es rápidamente obvio cuando solo tu estas trabajando en tu proyecto, pero se vuelve mas obvio cuando trabajas con multiples personas.
Imagína que varias personas están trabajando en cosas diferentes, una persona trabaja en el movimiento del jugador, otra persona trabaja en los enemigos, y otra en los niveles. Sería muy confuso trabajar en la misma rama implementando tantas cosas.
Imagína que un compañero se cometió un error que rompe una mecánica y necesita regresar a un commit pasado, pero tú ya habías implementado otra función después de tu compañero. Cuando tu compañero regrese a un commit pasado y continue el desarrollo ahí todo tu trabajo se abría perdido. Esto es lo que resuelven las ramas.