Flujo de trabajo GitHub.

1. Configuración Inicial del Proyecto

Crear o Clonar el Repositorio

  • Si el repositorio no existe:
    • git init
    • git remote add origin https://github.com/user/repo.git
    • git branch -M main git push -u origin main
  • Si ya existe, clónalo:
    • git clone https://github.com/user/repo.git

Configurar Accesos y Roles

  • En GitHub, ve a Settings > Collaborators para invitar a los colaboradores y asignarles permisos (Lectura, Escritura, Administrador, etc.).

2. Flujo de Trabajo Básico para Colaboración

Crear una Nueva Rama para tu Trabajo

Los colaboradores no trabajan directamente en la rama principal (main o master) para evitar conflictos.

git checkout -b feature/nueva-funcionalidad

Ejemplo:

  • María está agregando una nueva funcionalidad. Crea una rama llamada feature/agregar-botón.

Realizar Cambios y Confirmar

  1. Edita archivos en tu rama.
  2. Usa git add para agregar los cambios.
  3. Confirma los cambios con un mensaje descriptivo:
    • git add archivo.txt
    • git commit -m "Agregar botón en la página de inicio"

Subir Cambios al Repositorio Remoto

Para compartir tu trabajo:

git push origin feature/nueva-funcionalidad

Ejemplo:

  • María sube su trabajo en la rama feature/agregar-botón: git push origin feature/agregar-botón

3. Revisar y Fusionar Cambios

Crear un Pull Request (PR)

  1. Ve al repositorio en GitHub.
  2. Selecciona tu rama y haz clic en Compare & Pull Request.
  3. Escribe una descripción detallada de los cambios.
  4. Asigna revisores (por ejemplo, tu líder de proyecto).

Revisión por Parte del Equipo

  1. Los revisores comentan o aprueban el PR.
  2. Si es necesario, realiza ajustes en tu rama y sube los cambios nuevamente:
    • git add .
    • git commit -m "Ajustar color del botón"
    • git push origin feature/agregar-botón

Fusionar el Pull Request

Una vez aprobado:

  1. Haz clic en Merge Pull Request en GitHub.
  2. Borra la rama para mantener el repositorio limpio.

4. Sincronización y Resolución de Conflictos

Actualizar tu Rama Local

Antes de trabajar, asegúrate de tener los últimos cambios del remoto:

git pull origin main

Si estás en una rama:

git checkout feature/nueva-funcionalidad
git merge main

Resolver Conflictos

Si hay conflictos al fusionar:

  1. Git indicará los archivos en conflicto.
  2. Abre los archivos, resuelve los conflictos (busca las marcas <<<<<<, ======, >>>>>>).
  3. Una vez resueltos:
    • git add archivo_conflicto.txt
    • git commit -m "Resolver conflicto en archivo_conflicto.txt"

5. Flujo Avanzado: Estrategia Fork

Para proyectos con múltiples colaboradores externos:

  1. Cada colaborador hace un fork del repositorio.
  2. Realiza cambios en su fork y crea un Pull Request hacia el repositorio original.

Ejemplo:

  • Pedro quiere contribuir a un repositorio público. Hace un fork, crea la rama fix/corregir-typo, realiza los cambios y envía un PR.

6. Buenas Prácticas

  1. Escribe commits descriptivos: git commit -m "Corregir bug en validación de formulario".
  2. Divide el trabajo: Usa ramas para cada funcionalidad o corrección.
  3. Sincroniza frecuentemente: Usa git pull o git fetch para evitar conflictos mayores.
  4. Revisa el código: Usa herramientas como GitHub Actions o revisores manuales.

Leave a Reply

Your email address will not be published. Required fields are marked *