Una vez ya hemos visto en los distintos artículos de esta serie cómo trabajar con Git tanto en local como en remoto, nos queda pendiente ver algunos servicios que nos permitan compartir nuestro trabajo para sacar el máximo partido a este sistema de control de versiones.

En particular, vamos a tratar dos plataformas de desarrollo colaborativo: GitHub y GitLab. Ambas nos permite alojar proyectos utilizando el sistema de control de versiones Git.

GitHub vs. GitLab

Tanto GitHub como GitLab permiten mantener repositorios de código, tanto públicos como privados. La diferencia estriba en que, mientras que GitLab es siempre gratuito, GitHub solo te permite repositorios privados bajo suscripción. Pero no solo esto, también presentan otras diferencias:

  • Niveles de autentificación. Mientras que GitHub solo te da la opción de lectura o escritura en un repositorio, con GitLab puedes proporcionar acceso a determinadas partes del proyecto.
  • GitLab permite incluir adjuntos en un issue o problema.
  • GitLab permite marcar un proyecto como que está en desarrollo, lo que avisará a otros usuarios de la situación del mismo. Esto permite evitar que otros usuarios integren tu proyecto antes de tiempo…
  • GitHub tiene una comunidad de usuarios y una cantidad de proyectos muy superior a GitLab. Mientras que en GitLab hay poco mas de 100.000 proyectos, en GitHub superan los 35.000.000.

Gestión de repositorios en GitHub

Evidentemente, el primer paso que debemos llevar a cabo es crear nuestra cuenta de usuario en esta plataforma. Para ello, como en cualquier servicio, tendrás que proporcionar un nombre de usuario, una dirección de correo electrónico y una contraseña.

En el siguiente paso debes seleccionar tu plan personal. O usas la versión gratuita o bien optas por la versión de pago, que permite repositorios privados.

El tercer paso, que puedes obviar, es más bien una encuesta. En ella te identificas, indicando tu experiencia o nivel de programación, y escribes para qué vas a utilizar GitHub (diseño, investigación, desarrollo…) y qué sentido le darás, es decir, si solo es una afición o lo vas a utilizar profesionalmente.

Una vez concluidos estos sencillos pasos es necesario que verifiques tu cuenta de correo electrónico y que sigas las instrucciones que habrás recibido.

Con eso ya lo tienes todo completado. Ahora debes elegir entre leer una sencilla guía del funcionamiento de GitHub o crear tu primer repositorio remoto.

En nuestro caso nos decantamos por crear un nuevo proyecto, tal y como puedes ver en la siguiente captura de pantalla:

Crear un repositorio es tan sencillo como indicar el nombre del repositorio y si va a ser público o privado (en nuestro caso, al ser gratuito, solo tenemos la opción público). Opcionalmente también puedes añadir una descripción e inicializar el repositorio con un archivo README. Una vez pulsamos el botón de Crear repositorio nos indica la dirección del mismo:

Si te fijas, nos da dos direcciones: https ó SSH. En el primer caso, cada vez que quieras interactuar con GitHub de forma remota necesitarás indicar tu nombre de usuario y tu contraseña, mientras que, en el segundo caso, utilizarás tus claves SSH. Evidentemente, te recomiendo esta segunda opción, por la facilidad y agilidad con las que realizarás tus gestiones con la plataforma.

En esta misma página encontrarás cómo crear un repositorio local en tu equipo para, posteriormente, subirlo a tu repositorio remoto en GitHub, o cómo subirlo directamente a GitHub, en el caso de que ya lo tuvieras.

 Colaborar en otros proyectos

Si quieres colaborar en otro proyecto donde no seas tú el propietario, solo tienes que abrir la página correspondiente del proyecto en GitHub y pulsar sobre el botón fork.

Una vez creada la derivación o fork, lo clonas en tu equipo, ejecutando la siguiente orden en un terminal:

git clone https://github.com/tu_usuario/nombre_del_proyecto

Editas, modificas o cambias aquello que consideres susceptible de ser mejorado y lo subes a tu repositorio derivado.

Una vez hecho esto puedes hacer un Pull Request, donde solicitas al desarrollador de donde derivaste el proyecto que lo fusione de nuevo en él.

Colaborar con otros proyectos no implica necesariamente tener conocimientos de programación. Documentar o traducir el proyecto es una forma muy válida de colaborar en un proyecto, y además los desarrolladores, por lo general, estarán muy agradecidos de que estés dispuesto a colaborar.

Gestión de repositorios en GitLab

Igual que en el caso anterior, lo primero que tenemos que hacer es crear nuestra cuenta de usuario y confirmarla. Con eso ya tenemos nuestro acceso a GitLab completado. Aquí no tenemos encuesta. Directamente, una vez confirmada la cuenta, nos permite varias acciones:

Nosotros nos vamos a decantar por crear nuestro primer repositorio y lo vamos a hacer Privado, aprovechando que GitLab nos da esta opción.

Una vez creado nos encontramos en la misma situación que en el caso previo. Tendremos que iniciar nuestro repositorio local, en el caso de que todavía no lo tengamos creado o, directamente, subirlo al repositorio remoto en GitLab.

 Colaborar en otros proyectos

Al igual que sucede con GitHub, evidentemente en GitLab también puedes colaborar con otros proyectos siguiendo los mismos pasos, es decir:

  • Crea un fork o derivación del proyecto
  • Clona la derivación en tu proyecto
  • Modifica y sube a tu repositorio en GitLab
  • Realiza un Pull Request hacia el proyecto original.

Conclusiones

Como has podido ver, se trata de dos servicios muy similares, donde puedes mantener y gestionar tus repositorios remotos, ya sea para colaborar con otros usuarios o, simplemente, para salvaguardar aquello que tanto te ha costado hacer.


Las imágenes son capturas del sitio hechas por el autor.

La imagen de la portada, está hecha a partir de la imagen de un cuadrilátero con licencia CC0, el logo de Git con licencia CC BY 3.0 y el logo de GitLab que tiene licencia CC BY-SA 3.0. No he podido incluir el logo de GitHub porque no permite imágenes derivadas.

avatar
4 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
LMPVdavidochobitsGaspar FernándezGitHub y GitLab. Desarrollo colaborativo de software | PlanetaLibre Recent comment authors

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Subscribe  
más nuevo más antiguo más votado
Notificarme de
trackback

[…] Visitar la fuente original […]

Gaspar Fernández
Lector

Y muy importante una cosa. Gitlab te lo puedes bajar y lo puedes instalar en tu propio servidor. Y utilizar tus recursos sin que un tercero aloje nada. Eso sí, es un poco lento, aunque permite separar los diferentes servicios con los que cuenta. En Gitlab tienes hasta un sistema de chat privado, Mattermost que está muy bien.

Una cosa más, si decidís instalar Gitlab en un servidor vuestro (o en un ordenador de casa), no instaléis la última versión, si termina en un 0, es decir, la 10.2.0, 10.1.0, 10.0.0, el equipo da por estables muchas veces algunas versiones que se terminan cargando otras cosas (y alguna vez he necesitado tirar de backup para deshacer cosas de estas). Esperad a la x.x.2 o así, que seguro que tardan solo un par de días 🙂

david ochobits
Administrador

Muchas gracias Lorenzo por la serie de artículos, menudo currazo te has pegado. Soy bastante despistado y como de uvas a brevas utilizo el control de versiones, ya tengo una excelente guía 🙂

LMPV
Lector
LMPV

Excelente artículo muy bueno para el que se inicia en las Plataformas de integración continua. Gracias