Primeros pasos con GitHub
En el proceso actual de desarrollo de software, es común que los devs trabajen con equipos distribuidos geográficamente para desarrollar un proyecto, ya sea en el área financiera, educativa o empresarial.
Entre una variedad de plataformas modernas que permiten el desarrollo de software colaborativo y distribuido (por ejemplo, Bitbucket o GitLab), Gousios, Pinzger y Deursen (2014) señalan que GitHub es actualmente el host de código abierto más grande.
En esta herramienta, los desarrolladores que están participando activamente en un proyecto en cualquier parte del mundo pueden administrar localmente el código fuente de la aplicación, sistema o producto y, posteriormente, enviar estas modificaciones para que luego puedan integrarse en el producto de desarrollo final.
GitHub es la herramienta que brinda acceso a Git para mantener todos los historiales de modificación. Por ejemplo, imagina a una persona trabajando en un proyecto de desarrollo. Cualquier error presentado a lo largo del proceso puede revertirse fácilmente, dado que el desarrollador conoce el producto que está desarrollando. Ahora, en proyectos populares donde miles de desarrolladores participan activamente en el desarrollo de un producto, no es tan simple revertir un error enviado.
En este caso, es importante tener un historial de cambios, ya que las modificaciones realizadas a lo largo del proyecto se pueden revertir hasta un punto específico sin causar daños mayores.
En este artículo, aprenderá los primeros pasos para usar Github, desde descargar el software hasta enviar un código para la plataforma.
Primeros pasos con GitHub
Una forma de usar GitHub para administrar código entre equipos es la aplicación GitHub desktop que se puede descargar desde su sitio web oficial.
En ella se puede crear, agregar y clonar un repositorio, además de enviar y recibir modificaciones de código desarrolladas por otras personas de forma intuitiva.
Después de la instalación e iniciar sesión en la cuenta de GitHub, creamos un nuevo repositorio y enviamos un algoritmo Hello World en C# para comprender mejor cómo funciona el proceso.
1) Crear un nuevo repositorio: Para crear un nuevo repositorio, con la aplicación abierta, ve a la pestaña File -> New repository (Figura 2).
En la página de creación puedes darle un nuevo nombre a tu repositorio, además de agregar una descripción, la ruta local donde desarrollarás las aplicaciones. Puedes o no marcar la opción de inicializar el repositorio con el README y dejar los campos Git ignore y License por defecto (Figura 3).
Después de crear el repositorio, solo estará disponible localmente en tu computadora. Al publicarlo en GitHub, en cambio, puedes compartir y colaborar con otras personas involucradas en el proyecto. Para publicar tu repositorio local recién creado, haz clic en el botón Publish repository en la página principal de la herramienta (Figura 4).
2) Creación de artefactos de software: después de publicar el repositorio, puedes realizar modificaciones en los artefactos de software de forma aislada y enviarlos al repositorio recién creado a través de commits.
Para este dominio, vamos a plantear como ejemplo la creación de un algoritmo muy famoso en el cómputo Hello World, de modo de que se envíe al repositorio recién creado localmente para que las modificaciones se extiendan al repositorio central.
3) Envío de archivos recién creados a través de commits: Luego de crear el algoritmo usado como ejemplo, el escritorio de GitHub identificará que hubo una nueva modificación en el repositorio recién creado (Figura 4).
A partir de ese momento, puedes commitar localmente los cambios realizados y luego cargarlos en el repositorio central.
Para cada commit realizado hay un historial de modificaciones al que se puede acceder en la pestaña History al lado de Changes (Figura 4).
Pero, ¿para qué sirve esta funcionalidad? Supongamos que eliminas el archivo y deseas recuperarlo más tarde; pues esta funcionalidad es posible gracias al historial de control de versiones que existe dentro de la herramienta.
Con cada acción realizada en un proyecto, es posible recuperar o verificar las modificaciones hechas. De esa forma, si en un proyecto con varios desarrolladores alguien envía un cambio con bugs, es posible identificar cuál desarrollador subió la aplicación con el problema y devolver el proyecto a un estado anterior (es decir, el estado de trabajo antes del bug).
4) Subiendo las modificaciones al repositorio central: Una vez terminados localmente los cambios en tu computadora, puedes enviarlos al repositorio de desarrollo central para que otras personas puedan acceder a tu proyecto.
Para hacerlo, haz clic en el botón Push origin en la página central de la aplicación (Figura 5).
A partir de este momento, se puede acceder a todo el historial de cambios de tu proyecto en el repositorio remoto de GitHub y las personas asociadas o no pueden clonar y crear nuevas funciones. Sin embargo, los colaboradores externos deben generar un Pull request para que alguien del equipo principal decida si integra o no los nuevos cambios realizados.
Conclusión
Es común que, en un equipo, varios desarrolladores trabajen en el mismo proyecto. Para que esto sea posible, es necesario tener el control de todo lo que se desarrolla para que los equipos de proyecto puedan gestionar el proceso de desarrollo de la mejor manera posible y entregar un producto de calidad al final del proyecto, satisfaciendo las necesidades de el usuario final.
El objetivo principal de este artículo fue abordar conceptos del sistema de control de versiones y mostrar en la práctica cómo se da el proceso de gestión de estas herramientas, desde la creación de un nuevo repositorio hasta el envío de algún artefacto de software en el repositorio remoto del proyecto para que otros desarrolladores puede contribuir al proyecto en el futuro.
Por lo tanto, comprender cómo funcionan las herramientas de control de versiones puede ayudar a los desarrolladores y a toda la comunidad de desarrollo, especialmente a aquellos que comienzan su carrera de programación, a comprender y poner en práctica los conceptos básicos del sistema de control de versiones.
¡Hasta luego!
Referencias bibliográficas
- GOUSIOS, G.; PINZGER, M.; DEURSEN, A. v. An exploratory study of the pull-based software development model. In: Proceedings of the 36th International Conference on Software Engineering. [S.l.: s.n.], 2014. p. 345–355.
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.