Menu
Cómo migrar de GitHub a GitLab

Cómo migrar de GitHub a GitLab

Gitlab wallpaper Incursus http://incurs.us/open-source-art

¿Debería migrar a GitLab?

Recientemente se han dado ciertos cambios en GitHub que no han sido muy bien recibidos por la comunidad (como su adquisición por Microsoft).

Sea como sea, GitHub es una plataforma privativa, y existen excelentes alternativas libres como GitLab.

En esta entrada del blog explicaremos cómo migrar de GitHub a GitLab de la forma más simple y efectiva.

Recientemente hemos montado nuestro propios servidor con GitLab, así que ese será el que usemos en estos ejemplos (pero estos mismos pasos se aplican igual en cualquier otro).

GitLab además ofrece muchísimas características que lo hacen único y que ayudan mucho a la hora de usar git en un proyecto.

 Nuestra recomendación desde LibreLabUCM es, sin duda alguna, que uses GitLab siempre que sea posible.

Estamos seguros de que no te va a desilusionar, y de que una vez lo pruebes las alternativas como GitHub se te quedarán cortas.

Creando una cuenta

Nos dirigimos a https://gitlab.com/users/sign_in o, en nuestro caso, a https://gitlab.librelabucm.org/users/sign_in , y procedemos a crearnos una cuenta.

Podemos elegir la opción de registrarse usando otra cuenta de terceros.

Una vez creada la cuenta podemos editar nuestro perfil para personalizarlo a nuestro gusto.

Importante mirar la privacidad de nuestro email, y la cuenta de email con la que se harán los commits.

Configurar nuestras claves SSH

Las claves SSH tienen muchísima utilidad, git es sólo una de sus muchas aplicaciones.

Normalmente los pares de claves SSH se usar para realizar un proceso de autenticación seguro.

Recomiendo tener un par de claves (una pública y una privada) en cada uno de nuestros dispositivos.

¿No tienes claves SSH? ¿Estás algo perdido en esto de las claves SSH?

Aquí tenemos un artículo que explica en más detalle qué son, como se crean y cómo se usan.

¿Ya tienes tus claves SSH listas? ¡Genial! Vamos a configurarlas en GitLab.

Iremos a los ajustes de nuestra cuenta, a la sección "SSH Keys" o "Claves SSH". Veremos un área de texto grande en el que tendremos que poner nuestra clave pública.

Para obtener lo que tenemos que poner aquí podemos ejecutar el siguiente comando:

cat ~/.ssh/id_rsa.pub

Es muy importante que el archivo seleccionado terminé en .pub ya que este es la clave pública.

El archivo "id_rsa" que no termina en ".pub" es la clave privada que NO debemos compartir con nadie ni subir a ninguna web.

Ahora que ya hemos configurado nuestra clave pública en GitLab comprobemos si ya tenemos acceso.

Para ello intentaremos conectarnos por SSH al servidor usando el usuario git:

ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Para el servidor de LibreLabUCM (al que se accede por el puerto 8022): 

ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. -p 8022

En cualquier caso deberíamos ver un mensaje Ok en el que se nos informa de que GitLab no permite acceso a la terminal.

Si nos da un error de autenticación, o si nos pide que escribamos una contraseña, entonces no hemos configurado la clave SSH correctamente y tendremos que revisarlo.

Configurar nuestra clave GPG

Tras seguir los pasos indicados en el tutorial de GPG para crear una clave GPG podemos exportarla con el siguiente comando:

gpg --armor --export IDENTIFICADOR

Y luego podemos importarla a nuestra de GitLab en https://gitlab.com/profile/gpg_keys o en https://gitlab.librelabucm.org/profile/gpg_keys

Usar el importador de GitLab para migrar los repositorios

Una vez se tiene cuenta en GitLab podemos usar su importador automático para importar repositorios de otros servidores.

Recomiendo usar este método super que sea posible, no solo por ser el más fácil, también por que GitLab importará Pull Requests, issues, y otros datos relacionados con el repositorio.

Para ello haremos clic en el icono "+" de crear nuevo repositorio, seleccionaremos la pestaña "Importar", y elegiremos de donde queremos importar (en nuestro caso, de GitHub).

Tras dar permiso a GitLab para que acceda a nuestra cuenta de GitHub veremos la lista con todos nuestros repositorios, y simplemente tendremos que hacer clic en el botón importar de aquellos que queramos.

Configurar los repositorios locales para trabajar en GitLab

Lo más probable es que tengas en tu ordenador algún repositorio con el que estuvieses trabajando en GitHub. Tendremos que configurarlo para continiar trabajando en GitLab.

Para ello, en una terminal con en la que se esté trabajando en la carpeta del repositorio (moviendose por las carpetas con el comando "cd") ejecutaremos:

git remote -v

Para ver cuál es el servidor remoto con el que estamos trabajando (GitHub o GitLab). Para cambiar el remote, copiaremos la dirección del repositorio en GitLab (puede ser la url HTTPS, o SSH si tenemos la clave configurada), y ejecutaremos el siguiente comando:

git remote set-url origin [nuevo repositorio]

Tras ejecutar este comando probemos:

git remote -v
git fetch

Para comprobar que tenemos todo bien configurado.

Trabajar con múltiples remotes

Es posible configurar varios repositorios remotos. De esta forma podremos hacer pull de algunos o todos, y luego hacer push a algunos o todos. 

No es común trabajar con varios repositorios remotos, pero en algunas situaciones puede ser útil, y una de estas situaciones es la de migrar un repositorio, pero querer mantener nuestro repositorio antiguo actualizado.

Dado que esto es ligeramente más complejo no lo explicaremos en este tutorial, pero próximamente se hará un tutorial de Git Avanzado en el que explicaremos cómo configurar y usar múltiples repositorios remotos.

Nuestra instancia de GitLab

Tras más de 3 años pensando en migrar nuestra organización de GitHub a GitLab por fin realizamos la migración.

Sin embargo decidimos migrar a nuestra propia instancia de GitLab. Esta instancia es pública: cualquiera peude crearse una cuenta y usarla sin ningún problema.

Actualmente esta es la situación de nuestra instancia:

  • Soporte para 1000 usuarios (estimación)
  • Soporte para git por SSH en el puerto 8022
  • Speed Index: 500ms
  • 50 proyectos por usuario (con planes de aumentarlo)
  • Archivos de hasta 1MB (con planes de aumentarlo)
  • Previews en navegador habilitados (Web IDE)
  • Versión 11.9.1-CE (última versión de Comunity Edition, a fecha de publicación) 100% Open Source

 

 

 

Facebook Twitter Google+ Pinterest
Modificado por última vez enDomingo, 21 Abril 2019 10:03
(0 votos)
email: librelab@ucm.es
Facultad de Informática de la UCM
Calle del Profesor José García Santesmases 9, Despacho 120
28040, Madrid
×
Probando acceso a TOR... Web disponible en TOR! ;) La web está disponible en TOR, pero el navegador no tiene acceso a TOR