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.