Introducción

En este módulo, aprenderás sobre dos conceptos fundamentales para la colaboración en proyectos de código abierto y en equipos distribuidos: Forking y Pull Requests. Estos mecanismos permiten a los desarrolladores trabajar en sus propias copias de un proyecto y luego proponer cambios para ser integrados en el proyecto original.

¿Qué es Forking?

Forking es el proceso de crear una copia personal de un repositorio en tu cuenta de GitHub. Esta copia es independiente del repositorio original, lo que te permite experimentar y hacer cambios sin afectar el proyecto principal.

Pasos para Hacer un Fork

  1. Navega al Repositorio Original: Ve al repositorio del proyecto que deseas forkear en GitHub.
  2. Haz Click en el Botón "Fork": Este botón generalmente se encuentra en la esquina superior derecha de la página del repositorio.
  3. Selecciona tu Cuenta: Si tienes acceso a múltiples cuentas u organizaciones, selecciona dónde deseas crear el fork.

Ejemplo Práctico

Supongamos que quieres forkear el repositorio octocat/Spoon-Knife.

  1. Ve a https://github.com/octocat/Spoon-Knife.
  2. Haz click en el botón "Fork".
  3. Selecciona tu cuenta personal.

Ahora tendrás una copia del repositorio Spoon-Knife en tu cuenta de GitHub (tu-usuario/Spoon-Knife).

Clonando tu Fork

Después de forkar un repositorio, el siguiente paso es clonarlo en tu máquina local para empezar a trabajar en él.

git clone https://github.com/tu-usuario/Spoon-Knife.git
cd Spoon-Knife

Haciendo Cambios en tu Fork

Puedes hacer cambios en tu fork de la misma manera que lo harías en cualquier otro repositorio de Git. Aquí hay un ejemplo básico:

  1. Crea una Nueva Rama: Es una buena práctica trabajar en una rama separada.

    git checkout -b mi-nueva-rama
    
  2. Haz Cambios y Confirma: Realiza los cambios necesarios y confirma.

    echo "print('Hola, mundo!')" > hola.py
    git add hola.py
    git commit -m "Añadir script de saludo"
    
  3. Empuja los Cambios a tu Fork:

    git push origin mi-nueva-rama
    

¿Qué es un Pull Request?

Un Pull Request (PR) es una solicitud para que los mantenedores del repositorio original revisen e integren tus cambios. Es una forma de contribuir a proyectos de código abierto o colaborar en proyectos de equipo.

Creando un Pull Request

  1. Navega a tu Fork en GitHub: Ve a la página de tu fork en GitHub.
  2. Selecciona la Rama: Cambia a la rama en la que has hecho los cambios.
  3. Haz Click en "New Pull Request": Este botón generalmente se encuentra en la página principal del repositorio.
  4. Completa el Formulario: Proporciona un título y una descripción detallada de los cambios que has hecho.
  5. Crea el Pull Request: Haz click en "Create Pull Request".

Ejemplo Práctico

Supongamos que has hecho cambios en la rama mi-nueva-rama de tu fork tu-usuario/Spoon-Knife.

  1. Ve a https://github.com/tu-usuario/Spoon-Knife.
  2. Cambia a la rama mi-nueva-rama.
  3. Haz click en "New Pull Request".
  4. Completa el formulario con un título y una descripción.
  5. Haz click en "Create Pull Request".

Revisando y Fusionando Pull Requests

Una vez que has creado un Pull Request, los mantenedores del repositorio original pueden revisarlo. Pueden hacer comentarios, solicitar cambios o fusionar el PR.

Proceso de Revisión

  1. Revisión de Código: Los mantenedores revisarán tu código y pueden dejar comentarios.
  2. Solicitar Cambios: Si se requieren cambios, puedes hacerlos en tu rama y empujarlos nuevamente.
    git add archivo-modificado.py
    git commit -m "Realizar cambios solicitados"
    git push origin mi-nueva-rama
    
  3. Fusión: Una vez que el PR es aprobado, los mantenedores pueden fusionarlo en la rama principal del proyecto.

Ejercicio Práctico

Ejercicio 1: Fork y Pull Request

  1. Forkea un Repositorio: Forkea el repositorio octocat/Spoon-Knife.
  2. Clona tu Fork: Clona tu fork en tu máquina local.
  3. Crea una Nueva Rama: Crea una nueva rama llamada mi-cambio.
  4. Haz un Cambio: Añade un archivo llamado contribucion.txt con el contenido "Mi primera contribución".
  5. Confirma y Empuja los Cambios: Confirma y empuja los cambios a tu fork.
  6. Crea un Pull Request: Crea un Pull Request desde tu rama mi-cambio hacia la rama principal del repositorio original.

Solución

  1. Forkea el repositorio octocat/Spoon-Knife.
  2. Clona tu fork:
    git clone https://github.com/tu-usuario/Spoon-Knife.git
    cd Spoon-Knife
    
  3. Crea una nueva rama:
    git checkout -b mi-cambio
    
  4. Añade el archivo contribucion.txt:
    echo "Mi primera contribución" > contribucion.txt
    git add contribucion.txt
    git commit -m "Añadir contribucion.txt"
    
  5. Empuja los cambios:
    git push origin mi-cambio
    
  6. Crea un Pull Request en GitHub desde la rama mi-cambio hacia la rama principal del repositorio original.

Conclusión

En esta sección, has aprendido cómo forkar un repositorio, hacer cambios en tu fork y crear un Pull Request para contribuir al proyecto original. Estos son pasos esenciales para colaborar en proyectos de código abierto y trabajar en equipo de manera eficiente. En el próximo módulo, exploraremos cómo realizar revisiones de código con Git.

Dominando Git: De Principiante a Avanzado

Módulo 1: Introducción a Git

Módulo 2: Operaciones Básicas de Git

Módulo 3: Ramas y Fusión

Módulo 4: Trabajando con Repositorios Remotos

Módulo 5: Operaciones Avanzadas de Git

Módulo 6: Herramientas y Técnicas de Git

Módulo 7: Estrategias de Colaboración y Flujo de Trabajo

Módulo 8: Mejores Prácticas y Consejos de Git

Módulo 9: Solución de Problemas y Depuración

Módulo 10: Git en el Mundo Real

© Copyright 2024. Todos los derechos reservados