Yo lo que hago para no perderme cuando estoy en un curso de Alura es ir guardando el código por “aulas” usando Git. Hay varias formas de hacerlo:
Primero, al terminar cada clase hago un commit con un mensaje claro, por ejemplo: “Aula 1: configuración inicial”, “Aula 2: refactor de funciones”, etc. Así voy dejando un historial paso a paso.
Además, me gusta ponerle un tag a cada commit importante, tipo aula-1, aula-2, etc. De esa manera, si quiero volver atrás y revisar cómo estaba el proyecto en cierto punto, solo hago git checkout aula-1 y ya.
Otra opción sería crear ramas por cada aula, pero a mí me parece más sencillo trabajar con commits + tags, porque todo queda en la misma rama y es más fácil seguir la evolución.
Con eso no pierdo nada del código viejo después de una refactorización y puedo comparar cómo iba mejorando de una clase a otra