7. Pull Request

Una Pull Request (PR), Merge Request en otros hostings de Git, es una solicitud para que los maintainers de un proyecto revisen y fusionen tus cambios. Es el proceso estándar para contribuir a un proyecto, o el corazón de la colaboración en open source.

Los maintainers revisarán tu PR, harán comentarios, pedirán cambios o la aprobarán y fusionarán.

Muy rara vez un PR se fusiona sin pedirte cambios primero. No te lo tomes a mal, el revisor conoce el proyecto mejor que tú y quiere mantener la calidad del código.

Abrir una Pull Request

  1. Ve a tu fork en GitHub
  2. Verás un mensaje "Compare & pull request" - haz clic
  3. Completa el formulario de PR
  4. Haz clic en "Create pull request"

En resumen, el flujo completo para crear una Pull Request sería:

  1. Crea un fork del proyecto (si no lo has hecho ya, en caso contrario deberás sincronizar tu fork primero).
  2. Clona tu fork localmente (o usa el que ya tienes).
  3. Crea una rama específica para tu cambio (NUNCA trabajes directamente en main).
  4. Haz tus cambios: commits pequeños, enfocados y con descripciones claras.
  5. Haz push a tu rama en tu fork.
  6. Desde GitHub, abre una Pull Request desde tu rama hacia la rama principal del repositorio original.
  7. Espera la revisión, responde a comentarios y haz cambios si es necesario.

Existe una convención muy común para nombrar ramas de la siguiente forma:

  • feature/descripcion: Nueva funcionalidad
  • fix/descripcion: Corrección de bug
  • docs/descripcion: Cambios en documentación
  • refactor/descripcion: Refactorización de código
  • test/descripcion: Añadir o mejorar tests

Pero no es obligatorio, cada proyecto puede tener sus propias convenciones. Lo importante es que el nombre sea descriptivo. Un texto claro, conciso, y explica el "por qué" detrás de los cambios. Si además incluyes capturas de pantalla, vídeos y referencias a issues, mejor aún.

Después empieza el proceso de revisión, donde recibirás comentarios, sugerencias y posiblemente solicitudes de cambios.

Sé educado y agradecido. Muchos maintainers están haciendo esto en su tiempo libre. Su objetivo es mejorar el proyecto, no criticarte a ti personalmente.

Hacer cambios en un PR existente

Si el revisor te pide cambios, sigue trabajando en la misma rama que usaste para el PR. Los commits nuevos se añadirán automáticamente a la PR.

Actividad 1

Práctica con un repositorio de prueba:

  1. Crea un repositorio llamado practica-pr en tu GitHub.
  2. Clona el repo y crea un archivo CONTRIBUTORS.md.
  3. Añade tu nombre al archivo.
  4. Haz commit y push.
  5. Crea una nueva rama feature/añade-info.
  6. Añade más información (tu GitHub profile, proyectos, etc.).
  7. Push la rama.
  8. Crea un Pull Request de la rama a main.
  9. Revisa y fusiona tu propio PR.
Actividad 2

Contribución real:

  1. Busca un proyecto con un issue marcado "good first issue".
  2. Comenta en el issue que te gustaría trabajar en él.
  3. Fork el proyecto.
  4. Crea una rama apropiada.
  5. Implementa la solución.
  6. Prueba tus cambios.
  7. Crea un PR con una descripción completa.
  8. Responde a cualquier feedback.

This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.

Will you buy me a coffee?