Vamos a ver cómo migrar un repositorio de git propio de GitHub a Codeberg una opción comunitaria y más respetuosa con el software libre

GitHub se ha convertido hace años en el sitio más conocido en el que desarrolladores y colaboradores hospedan su código en repositorios git que permiten la colaboración, el aporte, la mejora, etc.
Hace unos años Microsoft compró GitHub, la mayor empresa de software privativo conocida por sus oscuras artimañas (Adoptar, extender, extinguir) a la hora de imponder sus estrategias cerradas y de puro monopolio, era dueña de un gran sitio en el que se hospedaban multitud de proyectos de software libre.
Con semejante curriculum a sus espaldas, la compra de GitHub por Microsoft fue vista con recelo. Y aunque en GitHub se hospedaba gran cantidad de software libre, el propio sitio no es muy amigable con el propio software libre.
El fundador y antiguo CEO de GitHub no estaba muy a favor del software libre, el código de la propia página no es libre y además su uso hace que haya que ejecutar software privativo en el navegador. ¿Y qué podemos hacer?
La asociación Software Freedom Conservacy ha puesto en marcha una campaña llamada «GiveupGitHub» o «Abandona GitHub» para concienciar sobre la necesidad de que proyectos de software libre no «fuercen» a sus usuarios a usar servicios privativos. O a que usuarios no usen servicios privativos.
Una de las opciones sobre las que ya escribí en el blog hace tiempo de Codeberg. Un servicio comunitario de hospedaje de repositorios git basado en software libre como es Gitea.
En Codeberg puedes apoyar a la comunidad que mantiene el servicio con una donación y así poder tener tu código en un sitio amigable con el software libre, o puedes abrirte una cuenta sin donar.
Migrar un repositorio de GitHub a Codeberg
En este tutorial veremos cómo migrar a Codeberg un repositorio git que tenemos hospedado en GitHub.
En Codeberg
Para ello, lo primero y principal es que tengas cuenta en ambos servicios. Ahora entramos en nuestra cuenta de Codeberg y en la parte superior derecha sobre el símbolo «+» seleccionamos: «Nueva migración»
Seleccionamos el servicio desde el que queremos migrar, en este caso desde GitHub y rellenamos los datos que nos aparecen en la siguiente página.
En la primera casilla pegamos la dirección url del proyecto que queremos migrar de GitHub.
En la segunda deberemos poner el «Token» de acceso de GitHub para poder realizar la migración.
Para conseguir ese Token, que es una contraseña que nos generará y nos dará acceso a nuestros datos de GitHub, vamos a nuestro perfil de GitHub.
En GitHub
En GitHub en la parte superior derecha en nuestro avatar pinchamos y seleccionamos la opción «settings» y en la nueva ventana en la lista de la izquierda seleccionamos la última opción «Developer settings» seleccionando Personal Tokens en la nueva pantalla.
Pulsamos sobre el botón «Generate new Token» y confirmamos nuestra contraseña para acceder.
En la primera casilla le asignamos un nombre, por ejemplo: «migración_codeberg» y le asignamos una fecha de caducidad, por ejemplo 7 días. Puedes darle más o menos en función de si vas a usarla más o menos tiempo.
En las opciones que podrá controlar ese Token, yo escogí «repo → full control of privates repositories» para que tenga todos los derechos.
Y pulsamos sobre el botón «Generate token» y nos mostrará una serie de números y letras aleatorios. ¡Ten cuidado! mantén bien a salvo esa cadena, ya que si alguien la obtiene tendrá acceso a todos tus repositorios con pleno derecho.
Copiamos el Token generado y lo guardamos bien.
Volvemos a Codeberg donde nos habíamos quedado
Regresamos a la página de configuración de migración donde nos habíamos quedado en Codeberg, ahora ya con el Token de GitHub generado y copiado.
Lo pegamos en la segunda casilla, le ponemos un nombre y una descripción (podemos copiar la que teníamos en GitHub) y pulsamos sobre «Migrar Repositorio». Al terminar tendremos una copia idéntica del repositorio que teníamos en GitHub.
Ahora si queremos podemos borrar o archivar como solo lectura el repositorio de GitHub, y añadiendo en el README una nota de que has migrado a un nuevo servicio que respeta a los usuarios y que está basado en software libre y un enlace a tu nuevo repositorio en Codeberg.
También borraremos la copia local del repositorio git de nuestro equipo, y clonaremos el nuevo repostorio de Codeberg sobre el que ya podremos trabajar.
Espero que os haya resultado útil y que os planteeis el cambio de servicio para vuestros repositorios git si es que os apetece o se puede hacer.
Codeberg no tiene detrás una gran empresa que factura millones y que puede aportar recursos para mantener un sitio con un montón de funcionalidades y opciones. Pero es una opción más que válida y útil más acorde con la filosofía del software libre y los hackers.
Enlaces de interés
- https://codeberg.org
- https://gitea.io/
- https://docs.github.com/es/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
- https://sfconservancy.org/GiveUpGitHub/
- https://victorhckinthefreeworld.com/2020/07/06/codeberg-alternativa-github-gitlab/
