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»

Fossil la alternativa a Git

Fossil es un sistema de control de versiones, de igual forma que Git, pero con otra filosofía y muchas opciones más

Photo by Marcus Lange on Pexels.com

Git se ha convertido en una herramienta de trabajo ampliamente utilizada. Es un sistema de control de versiones de archivos, que puede gestionar los aportes de muchas personas trabajando sobre los mismos archivos.

En el blog ya he tratado muchos artículos sobre esta herramienta creada por Linus Torvalds, pensada para ser utilizada en el desarrollo del kernel Linux pero ampliamente utilizada en muchos otros proyectos.

Pero acabo de enterarme de una alternativa creada por el desarrollador de SQLite que ofrece un sistema de control de versiones, pero muchas otras cosas de manera nativa como: seguimiento de errores, una wiki, un foro y documentación del proyecto.

Sigue leyendo «Fossil la alternativa a Git»

Cómo instalar GitHub CLI en #openSUSE

Veamos cómo instalar la nueva herramienta para la gestión de repositorios en GitHub en openSUSE

A finales de agosto de este (aciago) año 2020 ya publiqué en el blog un adelante de la herramienta para la línea de comandos que estaba desarrollando GitHub, para la gestión de los repositorios en sus servidores.

La herramienta se llama GitHub CLI y está disponible también para GNU/Linux y además de Debian, Fedora, Arch  y también openSUSE.

Hoy mismo 17 de septiembre de 2020 han publicado el anuncio de la publicación de la versión 1.0 bajo licencia MIT, de dicha herramienta ya para descargar e instalar y usarla en nuestros equipos.

Veamos cómo instalarla en nuestro openSUSE.

Sigue leyendo «Cómo instalar GitHub CLI en #openSUSE»