Para organizar el código del proyecto por aulas en el curso de Alura y mantener un historial del código, una excelente estrategia es utilizar ramas en Git. Este enfoque te permite dividir tu trabajo en diferentes ramas, representando cada aula o etapa del proyecto. Aquí cómo hacerlo:
1. Inicializar el repositorio (si no está inicializado)
Si el repositorio no ha sido configurado aún, inicializa el control de versiones con:
git init
Agrega los archivos al repositorio y realiza un primer commit:
git add .
git commit -m "Versión inicial del proyecto"
2. Crear una rama por cada aula
Antes de empezar con cada aula, crea una nueva rama con un nombre representativo. Por ejemplo:
git branch aula-1
Luego, cámbiate a esa rama para trabajar en los cambios específicos de esa aula:
git checkout aula-1
Puedes hacer ambas cosas (crear y cambiar de rama) en un solo comando:
git checkout -b aula-1
3. Trabajar y guardar los cambios
Realiza los cambios correspondientes al aula, verifica el estado y realiza commits con mensajes claros:
git add .
git commit -m "Implementación de funcionalidades del Aula 1"
4. Crear ramas para las siguientes aulas
Al finalizar el trabajo en una aula, vuelve a la rama principal (main
o master
) y crea una nueva rama para la siguiente aula:
git checkout main
git checkout -b aula-2
5. Revisión y comparación de ramas
Si necesitas revisar cómo evolucionó el código entre las aulas, puedes usar el siguiente comando para comparar ramas:
git diff aula-1 aula-2
Esto te permitirá visualizar las diferencias entre las etapas del proyecto.
6. Mantener un historial limpio
Si quieres integrar los cambios de una rama al proyecto principal después de finalizar un aula, realiza un merge:
git checkout main
git merge aula-1
7. Opcional: Subir a un repositorio remoto
Si estás trabajando en un repositorio remoto (como GitHub o GitLab), sube cada rama al servidor para conservar el historial en la nube:
git push origin aula-1
Repite este proceso para las demás ramas.
Ventajas de este enfoque:
- Organización: Cada aula tiene su propio espacio de trabajo.
- Historial preservado: Puedes ver cómo era el código en cualquier etapa.
- Evolución clara: Las ramas reflejan el progreso aula por aula.
- Facilidad para revertir: Si algo sale mal en una aula, puedes regresar a una versión anterior sin problemas.