Tema 3. Servicios distribuidos (GitLab y GitHub)




¡Bienvenidos a Servicios Distribuidos en Git! En esta experiencia académica, examinarás los fundamentos de dos servicios muy populares: GitLab y GitHub. Ambas son plataformas en línea que permiten alojar repositorios Git y colaborar en proyectos con otras personas; por tanto, resulta indispensable conocer las bases de estos servicios, así como las características de colaboración y control de versiones de Git que ofrecen.

Asimismo, en este tema aprenderás cómo crear una cuenta en línea en el servicio más popular de alojamiento de repositorios para programadores; por último, comprenderás las diferencias entre GitLab y GitHub, así como cuál de ellos es el mejor para las necesidades de tu proyecto.





Git remote

Para trabajar en conjunto en un proyecto de Git, necesitas saber cómo manejar repositorios alojados en línea. Estos son versiones de los proyectos que se encuentran en la red, así que puedes tener varios y cada uno puede contener diferentes niveles de acceso, como solo lectura o lectura y escritura. Colaborar con otras personas implica gestionar estos repositorios remotos mediante el envío y recibo de información, sobre todo cuando requieras compartir tu trabajo. En este sentido, la gestión de repositorios remotos conlleva ciertos conocimientos que debes adquirir: agregar un repositorio, eliminar los que ya no son válidos, manejar varias ramas remotas, determinar si deben o no ser consecutivas, entre otros (Git, s.f.).

Para verificar los remotos que tienes configurados, usa el comando “git remote”, ya que esto te mostrará los nombres de cada uno. En caso de que hayas clonado tu repositorio, la documentación oficial de Git (Git, s.f.) menciona que te aparecerá al menos una etiqueta “origin” (“origen”), pues este es el nombre asignado por defecto cuando se procede con dicha acción.




Fuente: Git. (s.f.). 2.5 Fundamentos de Git - Trabajar con Remotos.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.

Al añadir el sufijo “-v” en “git remote”, se le indica que muestre las URL asociadas con el nombre, las cuales sirven para leer y escribir en el remoto (Git, s.f.).




Fuente: Git. (s.f.). 2.5 Fundamentos de Git - Trabajar con Remotos.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.

En caso de que no hayas clonado tu repositorio y desees asociarlo con un remoto, es decir, añadir un repositorio remoto y vincularlo con un nombre al que se pueda hacer referencia, ejecuta la siguiente sintaxis (Git, s.f.): “git remote add [nombre] [url]”. Observa el ejemplo:




Fuente: Git. (s.f.). 2.5 Fundamentos de Git - Trabajar con Remotos.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


GitLab

GitLab es una herramienta de código abierto basada en Git, opera desde el 2011 y se utiliza para la planificación, desarrollo, integración y despliegue de software (Keepcoding, 2022). Ofrece una plataforma muy completa de gestión de proyectos de software, ya que incluye características como control de versiones, gestión de ramas o tareas, integración continua y despliegue, entre otras; además, proporciona una interfaz web para facilitar la administración de permisos, así como la colaboración entre los miembros del equipo. Por estos motivos, se utiliza con frecuencia en el ámbito empresarial, sobre todo para la gestión de proyectos de desarrollo de software.

Algunas de sus principales características son las siguientes:

  1. Sistema de control de versiones. GitLab es un sistema de control de versiones basado en Git, así que te permite almacenar, rastrear y colaborar en proyectos de manera eficiente.

  2. Administración de proyectos. GitLab ofrece una amplia variedad de herramientas para la gestión de proyectos, entre las que se encuentran tableros de proyectos, listas de tareas, seguimiento de incidencias y un calendario.

  3. Integración continua. GitLab cuenta con una integración nativa con herramientas de integración continua (CI); esto permite a los desarrolladores automatizar pruebas y despliegues de sus proyectos.

  4. Control de acceso. GitLab brinda un control granular de acceso a los miembros del proyecto, así que puedes asignar roles y permisos específicos a cada uno.

  5. Code Review. GitLab permite revisar el código de tus compañeros de equipo de manera eficiente, mediante comentarios en línea, etiquetas y herramientas de discusión.

  6. Alojamiento privado. GitLab aloja los repositorios en tu propio servidor o en la nube, es decir, te concede el control total sobre tus datos.

  7. Integraciones. GitLab tiene una amplia variedad de integraciones con herramientas de terceros, como Jira, Slack y Trello; por tanto, se facilita la colaboración y comunicación entre los miembros del equipo.

  8. Documentación. GitLab cuenta con una herramienta incorporada para la creación y seguimiento de documentos, así que contribuye en dichas actividades indispensables para los proyectos.

Git pull

Según Atlassian (s.f.-a), con el comando “git pull” se extrae y descarga contenido desde un repositorio remoto y, además, el local se actualiza al instante, pues busca reflejar los nuevos elementos. En este caso, “git pull resulta una combinación de los comandos "git fetch" y "git merge", ya que primero se descargan los cambios del repositorio remoto y luego se fusionan con el local. Por estos motivos, el comando "git pull" se usa para mantener tu repositorio local actualizado con las modificaciones más recientes del remoto, pues se automatiza el proceso de descarga y fusión de cambios.

La forma básica para emplear el comando “git pull” se describe en el siguiente ejemplo:




Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.

En caso de ser necesario, recupera la copia del origen remoto especificado en la rama actual y fusiónala de inmediato en la copia local (Atlassian, s.f.-a).


Git push

Atlassian (s.f.-b) asegura que el comando “git push” se usa para cargar contenido del repositorio local a uno remoto (lo opuesto a “git pull”); es decir, permite subir los commits realizados en desde una rama específica del repositorio local hasta el remoto correspondiente. Al ejecutar “git push”, se actualizarán los archivos en el repositorio remoto con los cambios realizados en el local; además, puede usarse para crear una nueva rama en el repositorio remoto a partir de una ya existente en el local. En este sentido, considera que “git push” solo enviará los cambios previamente registrados mediante el comando “git commit”.

La sintaxis básica del comando “git push” es esta:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.

Donde:

  • <remoto> es el nombre del repositorio remoto al que se quieren enviar los cambios; por defecto, suele aparecer como "origin".
  • <rama> es el nombre de la rama local que se quiere enviar al repositorio remoto; por defecto, suele ser en la que se encuentra el usuario.

Por ejemplo, si quieres enviar los cambios de la rama "master" del repositorio local al remoto "origin", esta sería la sintaxis adecuada:




Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


GitHub

GitHub es una plataforma de desarrollo colaborativo basada en Git, que permite a los desarrolladores alojar, compartir y colaborar en proyectos de software. Proporciona una interfaz web fácil de usar para gestionar repositorios Git, así como una variedad de herramientas y características que ayudan en el desarrollo de software, incluyendo el seguimiento de problemas, la gestión de tareas, la colaboración en tiempo real y la integración continua. GitHub también cuenta con una comunidad en línea para desarrolladores, donde se comparten y descubren proyectos, se colabora en trabajos de código abierto y se aprende de los colegas.

GitHub es una plataforma de código abierto, sus orígenes se remontan a 2005 y creció hasta convertirse en uno de los CVS más populares del mercado. De hecho, Gustavo Bustos (2023) asegura que cerca del 87% de los desarrolladores de software lo utiliza en sus proyectos.


Creación y configuración de la cuenta

Crear una cuenta en GitHub no es muy diferente a como se hace en cualquier red social o plataforma, pues también necesitas una cuenta activa de correo electrónico personal o empresarial. Si ya cuentas con este requisito, sigue los pasos que se describen a continuación:

  1. Ve a la página de inicio de GitHub (https://github.com/).
  2. Haz clic en el botón "Sign up", localizado en la esquina superior derecha de la página.
  3. Ingresa tu dirección de correo electrónico y una contraseña segura.
  4. Haz clic en el botón "Sign up for GitHub".
  5. Verifica tu cuenta de correo electrónico, sigue las instrucciones que se te brindan para realizar este proceso.
  6. Concluido el paso anterior, inicia sesión en GitHub con tu nombre de usuario y contraseña.
  7. Completa tu perfil en GitHub; si lo deseas, agrega una foto y una descripción.
  8. ¡Listo! Ya tienes una cuenta en GitHub.

En este sentido, trata de cumplir con las prácticas de seguridad recomendadas, es decir, elige una contraseña adecuada y guarda tus credenciales en un lugar donde estén a salvo.

El uso y descarga del software deberá apegarse a los términos y condiciones del sitio oficial del fabricante y su uso será responsabilidad de quien lo descargue. Tecmilenio no tiene licencia ni posee los derechos sobre dicho software.


Agregar una licencia

Agregar una licencia a un proyecto de GitHub es un proceso sencillo y consiste en los siguientes pasos:

  1. Inicia sesión en tu cuenta de GitHub y dirígete al repositorio en el que quieres agregar una licencia.
  2. Haz clic en el botón "Create new file".
  3. Escribe el nombre de la licencia, por ejemplo, "LICENSE".
  4. Selecciona la licencia que quieres usar. Hay varios tipos disponibles que puedes elegir, como MIT, Apache, GPL, etcétera.
  5. Seleccionada la licencia, GitHub generará automáticamente un archivo con los términos y condiciones que aplican a ese tipo en particular.
  6. Revisa los términos y condiciones generados; luego, realiza las ediciones necesarias.
  7. Haz clic en el botón "Commit new file".
  8. La licencia se agregará a tu repositorio de GitHub y será visible para todos los usuarios que accedan a tu proyecto.

No olvides que, para añadir una licencia, necesitas contar con los derechos de administrador en el repositorio.





En este tema analizaste varios aspectos sobre los servicios distribuidos de GitLab y GitHub; asimismo, conociste los principios básicos de estos servicios, los cuales te permiten almacenar y gestionar tus repositorios remotamente, así como colaborar con otros desarrolladores de manera eficiente, segura y cooperativa. También aprendiste las características y funcionalidades de ambos servicios; además, examinaste la manera de utilizarlos para realizar acciones comunes, por ejemplo, pull, push y crear ramas remotas.

GitLab y GitHub son herramientas esenciales para cualquier desarrollador que trabaje en proyectos colaborativos; ahora que conoces más sobre ellos, estás preparado para utilizarlos, cooperar con otras personas o almacenar tu trabajo de forma segura. Recuerda que estos servicios son apenas una parte de Git, pero resultan esenciales para avanzar en proyectos distribuidos.




Asegúrate de:

  • Considerar todos los aspectos para la creación de tu cuenta en GitHub.
  • Identificar los pasos para añadir una licencia a tus proyectos en GitHub.
  • Reconocer los comandos y la sintaxis para subir y bajar cambios en el repositorio remoto, pues de esta manera tendrás tus proyectos actualizados y resguardados.



  • Atlassian. (s.f.-a). git pull.
    Recuperado de https://www.atlassian.com/es/git/tutorials/syncing/git-pull
  • Atlassian. (s.f.-b). git push.
    Recuperado de https://www.atlassian.com/es/git/tutorials/syncing/git-push
  • Bustos, G. (2023). Qué es GitHub y cómo empezar a usarlo.
    Recuperado de https://www.hostinger.es/tutoriales/que-es-github
  • Git. (s.f.). 2.5 Fundamentos de Git - Trabajar con Remotos.
    Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos
  • Keepcoding. (2022). ¿Cómo funciona GitLab?
    Recuperado de https://keepcoding.io/blog/como-funciona-gitlab/


Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Lecturas
Para conocer más acerca de servicios distribuidos (GitLab y GitHub), te sugerimos revisar lo siguiente:


Videos
Para conocer más acerca de servicios distribuidos (GitLab y GitHub), te sugerimos revisar lo siguiente:

  • Mario Antonio Huapalla Morales. (2022, 19 de septiembre). Creación y configuración de una cuenta en Github - 2022 [Archivo de video].
    Recuperado de https://youtu.be/E7DxNdSkEJ0
  • ThianCode. (2022, 2 de marzo). Como Crear un Repositorio y Subir Proyectos en ⭐GitHub⭐ paso a paso 2022 [Archivo de video].
    Recuperado de https://youtu.be/cGL8nH9HOoE



  • Computadora con acceso a internet.
  • Instalar Git.





La obra presentada es propiedad de ENSEÑANZA E INVESTIGACIÓN SUPERIOR A.C. (UNIVERSIDAD TECMILENIO), protegida por la Ley Federal de Derecho de Autor; la alteración o deformación de una obra, así como su reproducción, exhibición o ejecución pública sin el consentimiento de su autor y titular de los derechos correspondientes es constitutivo de un delito tipificado en la Ley Federal de Derechos de Autor, así como en las Leyes Internacionales de Derecho de Autor.

El uso de imágenes, fragmentos de videos, fragmentos de eventos culturales, programas y demás material que sea objeto de protección de los derechos de autor, es exclusivamente para fines educativos e informativos, y cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por UNIVERSIDAD TECMILENIO.

Queda prohibido copiar, reproducir, distribuir, publicar, transmitir, difundir, o en cualquier modo explotar cualquier parte de esta obra sin la autorización previa por escrito de UNIVERSIDAD TECMILENIO. Sin embargo, usted podrá bajar material a su computadora personal para uso exclusivamente personal o educacional y no comercial limitado a una copia por página. No se podrá remover o alterar de la copia ninguna leyenda de Derechos de Autor o la que manifieste la autoría del material.