Migrar un repositorio git de GitHub a Codeberg

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?

Sigue leyendo «Migrar un repositorio git de GitHub a Codeberg»

Cómo renombrar una rama o borrar una rama en Git

Vamos a ver en detalle cómo podemos renombrar o borrar una rama local o remota en Git

Una de las utilidades más potentes de Git es poder crear diferentes ramas de un proyecto en el que trabajar de manera distribuida y muchas personas a la vez.

Cuando eres tu la única persona que trabaja en un repositorio de Git, el uso de ramas puede no tener mucho sentido, aunque siempre es una herramienta interesante para probar nuevas funcionalidades sin tocar aquello que funcionaba.

Pero cuando son muchas las personas que colaborar, crear ramas se convierte en algo esencial. Git está pensado para que varias personas puedan trabajar a la vez e incluso en el mismo archivo.

Cada persona puede desarrollar su trabajo en diferentes ramas de trabajo y después unir los cambios en una rama principal. Es interesante crear ramas específicas para diferentes trabajos o propósitos, como corregir un problema o añadir una nueva funcionalidad.

Testeado que todo funciona bien, esa rama específica se incorporará a la rama principal con todas las mejoras hechas.

Vamos a ver algunas tareas básicas con ramas en Git como renombrar ramas o borrarlas .

Sigue leyendo «Cómo renombrar una rama o borrar una rama en Git»

Con git hooks puedes automatizar tareas al trabajar con git

Deja que git hooks se ocupe de automatizar tareas, comprobar errores en commits, y mucho más de manera automática al trabajar con un repositorio en git

Los git hooks son una serie de scripts que se crean de manera automática al crear un repositorio git y que se «disparan» de manera automática ante ciertos eventos al trabajar con git. Por ejemplo al crear un commit, al recibir un push, etc.

Los podemos activar y personalizar a nuestras necesidades y utilizarlos para prevenir errores como enviar un commit a una rama equivocada, enviar una notificación antes de realizar un commit, etc.

Vamos a echar un vistazo a esos git hooks. Como siempre digo, no soy experto y por eso siempre remito a la documentación oficial. Aquí veremos algún ejemplo de uso de estos git hooks.

Sigue leyendo «Con git hooks puedes automatizar tareas al trabajar con git»

Solución al error: Unable to negotiate with port 22: no matching host key type found. Their offer: ssh-rsa

Hoy al actualizar un repositorio de git con git pull me saltó el error: Unable to negotiate with <IP> port 22: no matching host key type found. Their offer: ssh-rsa.

Desde hace años, mantengo la traducción al español de la web emailselfdefense, donde enseñan la manera de cifrar el correo electrónico para mantener la privacidad.

Resulta que se habían realizado algunas actualizaciones en el texto de la versión inglesa y quise dejarlos reflejarlos en la versión española.

Como el desarrollo de la página y de las versiones se realiza bajo git, me dispuse a descargar los cambios recientes subidos en la rama principal mediante git pull.

Al ejecutar el comando, me saltó un error:

Unable to negotiate with 209.51.188.160 port 22: no matching host key
type found. Their offer: ssh-rsa

Me decía que quizás no tenía permisos o que no existía el repositorio remoto. Bueno, pensé, ya he tocado algo que no debía y lo he roto todo. Así que pregunté en la lista de correo y con un enlace de aquí y otro de allá conseguí solucionarlo. ¿Quieres ver cómo?

Sigue leyendo «Solución al error: Unable to negotiate with port 22: no matching host key type found. Their offer: ssh-rsa»

git log para ver los cambios de un repositorio #git

git log nos muestra distinta información de los cambios realizados en un repositorio git

En ocasiones, en un repositorio git en el que trabajamos, queremos ver qué cambios se han realizado en los diferentes commits que forman el historial.

Con git log y las diferentes opciones que nos ofrece, podremos comprobar, qué commits se han realizado, quien los ha hecho, ver qué archivos se modificaron o un detalle de esos cambios.

Sigue leyendo «git log para ver los cambios de un repositorio #git»

git switch y git restore. Nuevos comandos para Git

Git desde la versión 2.23 incorpora dos nuevos comandos que son git switch y git restore como complemento a git checkout

Git checkout es uno de esos comandos de git que dependiendo del contexto en el que se utilice realiza una u otra cosa. Un todo terreno, que en muchos casos quizás pueda confundir a neófitos o usuarios (como yo) con pocos conocimientos sobre git.

Con el comando checkout podemos cambiar de rama de desarrollo, podemos crear una rama, podemos mover archivos entre ramas, etc. Hace poco escribí un artículo al respecto:

Entonces ¿qué hacen los nuevos comandos git switch y git restore?

Sigue leyendo «git switch y git restore. Nuevos comandos para Git»

privacytools-es se renueva y actualiza

privacytools-es ofrece herramientas para cifrar y protegerte del seguimiento masivo en internet

Allá por el 2016, anuncié por el blog que ponía en marcha la web privacytools-es que ofrece una colección de herramientas y consejos a la hora de mantener nuestra privacidad en internet:

La web es una traducción/adaptación de la web en inglés privacytools.io y me pareció un gran recurso, así que manos a la obra me puse a traducir tooooda la web.

El tiempo pasó, el proyecto de la web en inglés creció, se añadieron muchas personas para mejorar, aportar y renovar la web. ¿y qué pasaba con mi versión en español?

Sigue leyendo «privacytools-es se renueva y actualiza»

Copiar en #git un archivo o carpeta de una rama en otra

Veamos cómo copiar un archivo o una carpeta de una rama de trabajo de git en otra

Vamos a plantear el escenario. Tenemos un repositorio de trabajo que mantenemos bajo control de versiones con git.

Ese repositorio tiene dos rama, la principal o master y una rama de pruebas llamada pruebas. Dentro de esa rama de pruebas tenemos varios archivos y una carpeta con archivos.

Queremos copiar esa carpeta con archivos que existe en la rama de _pruebas_ en la rama principal _main_. ¿Cómo hacer esto?

Sigue leyendo «Copiar en #git un archivo o carpeta de una rama en otra»

Actualizar un fork de un repositorio git desde la interfaz web de GitHub

Veamos cómo actualizar desde la propia interfaz web de GitHub nuestro repositorio «forkeado»

En un artículo anterior ya vimos cómo actualizar desde la línea de comandos nuestro repositorio «forkeado», para mantenerlo al día con las actualizaciones del repositorio original:

En esta ocasión veremos cómo hacerlo desde la propia interfaz web de GitHub (si es que es allí donde tenemos alojado nuestros repositorios, tanto el original como nuestra copia derivada o «fork»).

Sigue leyendo «Actualizar un fork de un repositorio git desde la interfaz web de GitHub»