La siguiente es una guía detallada con el flujo de trabajo moderno y
recomendado para estudiantes.
Esta guía utiliza una estrategia de ramificación
(branching), que es el estándar en la industria y la mejor
forma de evitar los típicos conflictos y la sobreescritura de trabajo
cuando se colabora en un mismo archivo, especialmente en un notebook
.ipynb.
🚀 Guía de Trabajo Colaborativo: Google Colab + GitHub 🚀
¡Hola equipo! Esta guía les mostrará cómo colaborar en un único
notebook de Google Colab utilizando GitHub sin pisarse el trabajo.
Seguiremos un flujo profesional basado en ramas (branches)
y Solicitudes de Extracción (Pull Requests).
El objetivo: Que cada estudiante trabaje en su parte
(Situación 1, 2 o 3) de forma aislada y luego integre sus cambios de
manera ordenada al proyecto principal.
Roles:
- Estudiante 1 (Líder del Repositorio): Responsable
de la configuración inicial y de fusionar los cambios de los demás.
- Estudiante 2 y 3 (Colaboradores): Responsables de
desarrollar sus secciones en ramas separadas.
Fase 1: Configuración Inicial (Realizada por el Estudiante 1)
El Estudiante 1 prepara el terreno para la colaboración.
1.1. Crear el Repositorio en GitHub
- Ve a GitHub y crea un nuevo
repositorio.
- Nombre del repositorio:
proyecto-estadistica-aplicada (o un nombre
descriptivo).
- Descripción: Añade una breve descripción del
proyecto.
- Público/Privado: Elige Privado si
solo los miembros del equipo pueden verlo.
- Importante: Marca la casilla “Add a README
file”. Esto inicializa el repositorio.
1.2. Añadir Colaboradores
- Dentro del repositorio, ve a Settings >
Collaborators.
- Añade a los Estudiantes 2 y 3 usando sus nombres de
usuario de GitHub. Ellos recibirán una invitación por correo que deben
aceptar.
1.3. Crear y Subir el Notebook Inicial
Abre Google
Colab y crea un nuevo notebook.
Estructura el notebook: Crea los encabezados
para cada parte del trabajo. Esto es clave para minimizar
conflictos.
# CUADERNO DE TRABAJO COLABORATIVO
# Asignatura: Estadística Aplicada con Python
# ==========================================
# SECCIÓN 1: Estudiante 1
# ==========================================
# TODO: Desarrollar aquí la Situación 1
# ==========================================
# SECCIÓN 2: Estudiante 2
# ==========================================
# TODO: Desarrollar aquí la Situación 2
# ==========================================
# SECCIÓN 3: Estudiante 3
# ==========================================
# TODO: Desarrollar aquí la Situación 3
Guarda este notebook inicial en el repositorio de GitHub:
- En Colab, ve a Archivo > Guardar una copia en
GitHub.
- Selecciona el repositorio que acabas de crear.
- El nombre del archivo puede ser
desarrollo_proyecto.ipynb.
- Mensaje de confirmación (commit message): “feat:
Crea estructura inicial del notebook”.
- Asegúrate de que se guarde en la rama principal
(
main).
¡Listo! El proyecto base ya está en GitHub.
Fase 2: Ciclo de Desarrollo (Para TODOS los estudiantes)
Cada estudiante, incluido el Estudiante 1, debe
seguir estos pasos para trabajar en su sección. ¡Nunca trabajen
directamente sobre la rama main!
2.1. Abrir el Notebook desde GitHub
- Ve al repositorio en GitHub.
- Haz clic en el archivo
.ipynb. Verás un botón de “Open
in Colab”. Dale clic.
2.2. Crear una Rama de Trabajo (Branch)
- Una vez en Colab, antes de escribir una sola línea de código, guarda
una copia en una nueva rama. Esto aísla tu
trabajo.
- Ve a Archivo > Guardar una copia en GitHub.
- En la ventana de guardado:
- Repositorio: Elige el repositorio del
proyecto.
- Rama (Branch): ¡MUY IMPORTANTE!
Escribe un nuevo nombre para tu rama. Usa un nombre descriptivo.
- Para Estudiante 2:
desarrollo/situacion-2
- Para Estudiante 3:
desarrollo/situacion-3
- Para Estudiante 1 (su trabajo):
desarrollo/situacion-1
- Mensaje de confirmación: “feat: Inicia desarrollo
de Situación X”.
- Al guardar, Colab te redirigirá a la versión del notebook en tu
nueva rama. Ahora sí, ¡a trabajar!
2.3. Desarrollar tu Parte
- Trabaja únicamente en la sección que te corresponde
dentro del notebook.
- A medida que avanzas, puedes guardar tus cambios en GitHub. Colab
recordará la rama en la que estás trabajando.
- Para guardar, solo tienes que ir a Archivo > Guardar una
copia en GitHub.
- Usa mensajes de confirmación claros y descriptivos.
Por ejemplo:
"fix: Corrige error en el cálculo de la media"
"feat: Agrega la visualización de datos con Matplotlib"
Fase 3: Integración de Cambios (Realizada por el Estudiante 1)
El Estudiante 1 revisa y fusiona las contribuciones.
3.1. Revisar el Pull Request (PR)
- En la pestaña “Pull requests” del repositorio,
aparecerá la solicitud del Estudiante 2.
- Haz clic en el PR para revisarlo.
- Puedes ir a la pestaña “Files changed” para ver
exactamente qué líneas de código se añadieron o modificaron. Esto es
útil para detectar posibles problemas.
3.2. Fusionar el Pull Request (Merge)
- Si todo se ve bien y no hay conflictos, GitHub mostrará un botón
verde “Merge pull request”.
- Haz clic en él y luego en “Confirm merge”.
- ¡Felicidades! Los cambios de la rama
desarrollo/situacion-2 ahora forman parte de la rama
main.
- Después de fusionar, es una buena práctica eliminar la
rama (
Delete branch) para mantener el repositorio
limpio.
Manejo de Conflictos
- Si dos estudiantes modificaron la misma línea de
código, GitHub detectará un conflicto de
fusión y no te permitirá fusionar automáticamente.
- Solución:
- Comunicación: El Estudiante 1 debe hablar con el
estudiante que envió el PR.
- Actualización: La forma más sencilla es que el
estudiante del PR actualice su rama con los últimos cambios de
main, resuelva el conflicto en su máquina (o en Colab) y
vuelva a subir los cambios a su PR.
- Para actualizar su rama, el estudiante debe abrir su notebook en
Colab, jalar los cambios de
main y luego subir la versión
corregida.
Fase 4: Sincronización (Para TODOS)
Una vez que un Pull Request ha sido fusionado a main,
todos los demás deben actualizar sus propias ramas para incluir esos
cambios.
- Abre tu notebook de trabajo en Colab (el que está en tu rama
desarrollo/...).
- Para sincronizar, debes “jalar” los cambios de
main. La
forma más directa desde Colab es:
- Abre la versión del notebook que está en la rama
main
(Archivo > Historial de revisiones, busca la versión
de main o simplemente ábrelo desde la página principal del
repo).
- Copia el código actualizado.
- Pégalo en tu notebook de trabajo.
- Alternativamente (más avanzado), un estudiante puede hacer esto
localmente con Git:
bash # Cambiar a mi rama git checkout desarrollo/situacion-3 # Traer los cambios de la rama principal git pull origin main
- Guarda los cambios actualizados en tu propia rama en GitHub.
Este ciclo ( Crear Rama -> Trabajar -> Guardar ->
Pull Request -> Fusionar -> Sincronizar ) se repite hasta
que el proyecto esté completo.
💡 Buenas Prácticas y Consejos Finales
- Comunicación Constante: Hablen entre ustedes.
Avisen cuándo van a empezar a trabajar y cuándo han enviado un Pull
Request.
- Trabajen en Secciones Separadas: La estructura
inicial del notebook es su mejor amiga para evitar conflictos.
- Confirmaciones Pequeñas y Frecuentes: En lugar de
guardar un solo cambio gigante al final, guarda tu progreso con
frecuencia (
Archivo > Guardar una copia en GitHub). Esto
crea un historial claro y facilita la revisión.
- No teman a los conflictos: Son normales en el
desarrollo de software. Son una oportunidad para aprender a comunicarse
y resolver problemas en equipo.