Flujo recomendado (ramas + tags)
Crea una rama por aula
desde main (o la rama base)
git switch -c aula-01
…trabajas y haces commits…
git switch -c aula-02
…más trabajo y commits…
git switch -c crea y cambia a una nueva rama; es la forma moderna y clara de “moverte” entre ramas.
Git
Etiqueta el “corte” de cada aula (para poder volver exactamente a ese estado)
estando en la rama o commit que representa el cierre del aula
git tag -a aula-01 -m "Cierre Aula 01"
git tag -a aula-02 -m "Cierre Aula 02"
Usa tags anotados (-a) para guardar fecha, autor y mensaje; son los apropiados para hitos como “Aula 01/02”.
Git
Sube ramas y etiquetas al remoto
git push origin aula-01 aula-02
git push origin --tags
--tags envía todas las etiquetas que aún no están en el remoto (útil si marcas cada aula).
Git
Volver a una aula específica (cuando quieras revisar o comparar)
git switch aula-02 # saltar a la rama del aula
o por etiqueta (estado exacto de cierre):
git switch --detach aula-02
Con git switch actualizas tu árbol de trabajo al estado de la rama/etiqueta elegida.
Git
+1
¿Por qué no copiar carpetas por aula?
Porque pierdes el historial real de cambios y duplicas código. Con ramas conservas un historial lineal por aula y con tags puedes “congelar” la versión exacta que entregaste en cada clase. Git está diseñado justo para eso: branching liviano y versionado por snapshots.
Git
+1
Variantes útiles
Solo tags, sin ramas por aula (si cada aula es un hito sobre main):
git tag -a aula-03 -m "Cierre Aula 03"
git push origin --tags
Luego puedes crear una rama temporal desde ese tag si necesitas explorar:
git switch -c fix-aula-03 aula-03.
Git
+1
Trabajar con git checkout (legacy): posible, pero la recomendación actual es git switch (para ramas) y git restore (para restaurar archivos).
Stack OverflowGit