post

Github y los Pull Request

GitHub y los Pull Resquest

El desarrollo de software moderno exige herramientas que permitan un trabajo en equipo fluido, seguro y transparente. En este ecosistema, el control de versiones se ha consolidado como el pilar fundamental para la creación de tecnologías estables. Aprender a dominar las plataformas de alojamiento de código transforma por completo la eficiencia de los equipos de programación. Por lo tanto, comprender el funcionamiento de los flujos de trabajo colaborativos es una competencia indispensable para cualquier desarrollador actual.

Puntos Claves de GitHub y Pull Requests

La plataforma GitHub funciona como un servicio de alojamiento en la nube que gestiona repositorios basados en Git, facilitando el control de versiones de forma remota. De acuerdo con Loeliger y McCullough (2012), Git permite registrar el historial de cambios de un proyecto, lo que evita la pérdida de información y asegura la integridad del código fuente. Los desarrolladores utilizan ramas independientes para programar nuevas funciones sin alterar el código que ya se encuentra en producción.

Una vez que las modificaciones están listas en una rama secundaria, se inicia el proceso de integración mediante una solicitud de extracción o Pull Request (PR). Chacon y Straub (2014) señalan que el Pull Request es el mecanismo central para la revisión de código dentro de GitHub. Esta herramienta permite a los miembros del equipo examinar los cambios propuestos, proponer mejoras y discutir la calidad del software antes de fusionar los datos. Gracias a este flujo, los errores se detectan a tiempo y se mantiene un estándar de calidad elevado en el proyecto.

Tendencias Actuales

En la actualidad, la gestión de repositorios ha evolucionado hacia la automatización completa mediante prácticas de Integración Continua y Despliegue Continuo (CI/CD). Con el auge de herramientas nativas como GitHub Actions, cada Pull Request activa una serie de pruebas automatizadas que validan el código de forma inmediata (Spinellis, 2021). Esto reduce drásticamente el tiempo dedicado a la revisión manual y acelera los ciclos de entrega de software en el mercado tecnológico.

Además, la inteligencia artificial se ha integrado profundamente en las plataformas de desarrollo para asistir a los ingenieros durante las revisiones. Diversos asistentes de código analizan los PRs abiertos para sugerir optimizaciones de rendimiento y detectar vulnerabilidades de seguridad en tiempo real. Esta sinergia entre el control de versiones tradicional y la IA está redefiniendo la velocidad con la que los equipos globales construyen soluciones digitales.

Objetivo de Aprendizaje

Al finalizar esta lección, el estudiante será capaz de gestionar proyectos colaborativos en GitHub mediante el uso correcto de ramas, la creación de Pull Requests y la aplicación de buenas prácticas de revisión de código.

  • Tener una cuenta en GitHub
  • Validar que tienes git instalado con el comando: git --version
  • Para cuando se realiza esta práctica se hace con la versión: 2.54

sudo apt update
sudo apt install git

# Instalar Homebrew primero (si no lo tienen)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Luego instalar Git
brew install git

  • Descargar desde git-scm.com/downloads/win 
  • Ejecutar el instalador y aceptar todo por defecto
  • Al terminar, tendrás Git Bash (terminal estilo Linux) o lo puedes ejecutar desde la terminal:
winget install --id Git.Git -e --source winget

  • Desde el navegador entra al repositorio: https://github.com/ajgutierr3z/WebAsServices
  • Haz clic en el botón Fork (esquina superior derecha)
  • Selecciona tu cuenta como destino
  • Espera unos segundos. Y tendrás una copia en tu cuenta

# Clona TU fork (reemplaza 'TU_USUARIO' por tu nombre de usuario)
git clone https://github.com/TU_USUARIO/WebAsServices.git

# Entra a la carpeta
cd WebAsServices

  • Abre tu editor favorito (VSCode, notepad ++, nano, vim, atom, pycharm, entre otros)
  • Guardas tus cambios

Tener en cuenta que estos cambios van a tu repo (el que se colono en el paso 2)

# Ver qué archivos cambiaron
git status

# Agregar los cambios
git add .

# Hacer commit con un mensaje
git commit -m "Mi práctica - [Tu Nombre Completo]"

# Subir a GitHub
git push origin main

  • Abre tu cuenta de GitHub en tu navegador preferido
  • Ve a tu fork en GitHub: https://github.com/TU_USUARIO/WebAsServices
  • Después de haber subido los cambios se verá un botón que diga “Contribute” alado de un menú desplegable que dirá “Sync fork“.
  • Pulsa sobre el botón “Contribute” al pulsar sobre el borón se dezpliega una opción que dice “Open Pull Request“.
  • se abrirá una ventana donde te va a pedir el nombre o el título de la modificación que propones, junto a una breve descripción. llenas ambos campos.
  • Una vez llenado los campos, pulsa sobre el botón “Create pull request
  • Ya creado el PR te mostrará los mensajes y cambios que se realizo.

Si se quiere validar que el PR salió bien vas al repo al que se hizo el fork y verás un Pull Request marcado ahí notaras que el PR se ha enviado bien. Te notificará cuando recibas un comentario o se haya hecho un merge de tu PR.

La adopción de GitHub y la correcta implementación del flujo de trabajo basado en solicitudes de extracción resultan determinantes para la madurez técnica de cualquier equipo de ingeniería de software. Al establecer dinámicas claras de revisión, los desarrolladores no solo protegen la estabilidad de la rama principal, sino que también construyen un espacio de aprendizaje continuo donde el conocimiento técnico se distribuye de manera horizontal entre todos los miembros de la organización.

El dominio de los comandos de Git y de las herramientas de integración en la nube trasciende el simple almacenamiento de archivos digitales. Esta práctica constituye un lenguaje universal de colaboración que permite a profesionales ubicados en distintas latitudes trabajar de forma sincronizada en proyectos de gran envergadura, impulsando de esta manera el desarrollo de software libre y de soluciones empresariales altamente escalables.

Afrontar con éxito los retos comunes de la colaboración, tales como los conflictos de fusión o la automatización de pruebas, capacita a los nuevos talentos para integrarse sin fricciones en los flujos de la industria tecnológica actual. Al concluir las lecturas y dinámicas prácticas propuestas en este Hub educativo, el participante adquirirá los fundamentos necesarios para destacar en entornos profesionales altamente competitivos.

Vídeo 1. Demostración de For-clone-push-pr. Fuente: tomado de youtube.com/frexus.dev

Referencias Bibliográficas

  • Chacon, S., & Straub, B. (2014). Pro Git (2a ed.). Apress.
  • Loeliger, J., & McCullough, M. (2012). Version Control with Git: Powerful tools and techniques for collaborative software development (2a ed.). O’Reilly Media.
  • Spinellis, D. (2021). Why code reviews matter and how to get them right. IEEE Software, 38(1), 12-15.

Leave a Reply

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