Git y Github
Pull requests y revisiones de código
En este módulo, aprenderemos cómo utilizar Pull Requests (PRs) y realizar revisiones de código en GitHub. Los PRs son fundamentales para el trabajo colaborativo, ya que permiten revisar y discutir cambios antes de fusionarlos en la rama principal del proyecto.
¿Qué es un Pull Request?
Un Pull Request (PR) es una solicitud para fusionar cambios desde una rama a otra. Permite a otros miembros del equipo revisar, discutir y aprobar los cambios antes de fusionarlos. Los PRs son esenciales para mantener la calidad del código y garantizar que todos los cambios sean revisados antes de integrarlos en la rama principal.
Creación de un Pull Request
Paso 1: Realizar cambios y subirlos a una rama
Primero, realiza los cambios en una nueva rama y sube esos cambios al repositorio remoto.
bash
Paso 2: Crear el PR en GitHub
- Navega a la página del repositorio en GitHub.
- Haz clic en la pestaña "Pull requests".
- Haz clic en "New pull request".
- Selecciona la rama con tus cambios (ej.
nueva-funcionalidad
) y la rama de destino (ej.main
). - Proporciona un título y una descripción detallada del PR.
- Haz clic en "Create pull request".
Revisión de código
Asignación de revisores
Una vez creado el PR, puedes asignar revisores para que inspeccionen tu código:
- En la página del PR, busca la sección "Reviewers".
- Asigna uno o más revisores que revisarán tu PR.
Proceso de revisión
Los revisores pueden hacer comentarios sobre líneas específicas de código, sugerir cambios y aprobar o solicitar modificaciones.
Comentarios en líneas de código
Los revisores pueden dejar comentarios directamente en las líneas de código:
- En la vista del PR, haz clic en las líneas de código específicas.
- Deja un comentario explicando la sugerencia o problema.
Solicitar cambios
Si el PR necesita ajustes, los revisores pueden solicitar cambios:
- En la parte superior de la vista del PR, haz clic en "Files changed".
- Haz clic en el botón "Review changes".
- Selecciona "Request changes", agrega un comentario, y haz clic en "Submit review".
Aprobar cambios
Si todo está correcto, los revisores pueden aprobar el PR:
- En la parte superior de la vista del PR, haz clic en "Files changed".
- Haz clic en el botón "Review changes".
- Selecciona "Approve" y haz clic en "Submit review".
Fusión de un Pull Request
Fusionar el PR
Una vez que los revisores aprueben el PR, puedes fusionarlo:
- En la página del PR, haz clic en el botón "Merge pull request".
- Confirma la fusión haciendo clic en "Confirm merge".
Eliminar la rama fusionada
Después de fusionar el PR, es buena práctica eliminar la rama que ya no es necesaria:
- En la página del PR, haz clic en "Delete branch".
Buenas prácticas para Pull Requests y revisiones de código
- Títulos y descripciones claras: Proporciona títulos y descripciones detalladas para que los revisores entiendan el propósito de los cambios.
- Commits pequeños y coherentes: Realiza commits pequeños y descriptivos para facilitar la revisión.
- Respuestas a comentarios: Siempre responde a los comentarios de los revisores, ya sea aceptando las sugerencias o explicando tu razonamiento.
- Resolución de conflictos antes de la fusión: Si el PR tiene conflictos, resuélvelos antes de solicitar una revisión final.
Herramientas adicionales
Uso de plantillas para PRs
Puedes crear plantillas de PR para asegurar que se incluyan todos los detalles necesarios:
- Crea un archivo
.github/pull_request_template.md
en tu repositorio. - Añade una descripción con secciones que deseas que se completen en cada PR.
Automatización con GitHub Actions
Configura GitHub Actions para automatizar pruebas, análisis de código y otras tareas cuando se cree o actualice un PR.
yaml
Ejemplo práctico
-
Crear y trabajar en una nueva rama:
bash -
Crear un Pull Request en GitHub.
-
Asignar revisores y recibir comentarios.
-
Realizar cambios adicionales si es necesario y hacer push:
bash -
Revisar y aprobar el PR.
-
Fusionar el PR y eliminar la rama.
Con estas técnicas y flujos de trabajo, puedes gestionar PRs y revisiones de código de manera efectiva en GitHub, asegurando que todos los cambios sean revisados y aprobados antes de ser fusionados a la rama principal. En el próximo módulo, aprenderemos sobre el uso avanzado de Git, incluyendo rebase
y cherry-pick
.
- Introducción a Git y GitHub
- Instalación y configuración de Git
- Fundamentos de control de versiones
- Creación y clonación de repositorios
- Realización de commits y seguimiento de cambios
- Gestión de ramas (branching)
- Fusionado de ramas (merging)
- Resolución de conflictos
- Trabajo colaborativo en GitHub
- Pull requests y revisiones de código
- Uso avanzado de Git (rebase, cherry-pick, etc.)
- Automatización con Git hooks
- Integración continua con GitHub Actions
- Gestión de versiones y lanzamiento de releases
- Conclusiones y mejores prácticas en Git y GitHub