Mostrando entradas con la etiqueta git. Mostrar todas las entradas
Mostrando entradas con la etiqueta git. Mostrar todas las entradas

viernes, 5 de junio de 2026

Usar claves asiméticas SSH con gitlab

GitLab ya no permite subir por https los cambios en tus repositorios, por lo que hay que utilizar métodos "más seguros", aunque se puede crear un token para salir el paso, no lo recomiendo porque es "pan para hoy y hambre para mañana", ya puestos usamos claves asimétricas SSH.

Si NO las tienes creadas, ya las estás creando :D 

Si ya las tienes creadas tienes que seguir los siguientes pasos:

  1. Localiza tu clave privada, está en /home/tuusuario/.ssh y es un archivo que termina con la extensión .pub, vamos a suponer que es id_xxxx.pub
  2. Muestra el contenido con los comandos:
    cd /home/tuusuario/.ssh
    cat id_xxxx.pub
  3. Copia el contenido de la misma en el portapapeles seleccionándola con el ratón, clic con el botón derecho y copiar.
  4. Iniciamos sesión en gitlab con nuestras credenciales.
  5. Ve al avatar, selecciona Preferences > SSH Keys (si tienes dificultades para encontrar la opción tiene un buscador donde puedes poner "SSH Keys").
  6. Pega el contenido que habías copiado previamente en el campo "KEy".
  7. Clic en el botón "Add key".
  8. Verifica la conexión con el siguiente comando, si pide que confías dí que sí:
    ssh -T git@gitlab.com
  9. Ahora tienes que cambiar el archivo .git/config en tu repositorio local de manera que quede como algo así:
    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
    [remote "origin"]
        url = git@gitlab.com:tuusuario/elrespositoriodetuproyecto
        fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
        remote = origin
        merge = refs/heads/master
     
  10. Y listo, ya puedes subir de nuevo tus commits 

viernes, 15 de agosto de 2025

Controlar los cambios en la configuración de GNU/Linux con etckeeper

Para adaptar nuestro GNU/Linux a nuestras necesidades muchas veces tenemos que hacerle configuraciones globales a nivel de todo el sistema, esto se hace cambiando los correspondientes archivos de configuración que están dentro de la carpeta /etc como archivos sueltos u otros que están en las subcarpetas de esta ruta.

Es una operación delicada que tenemos que hacer con los máximos privilegios como root y que, si configuramos mal, podemos hacer que algún servicio deje de funcionar y no sabremos como ponerlos como estaba antes.

Para esto tenemos el paquete etckeeper que lo que hace, es gestionar todos los cambios que se produzcan dentro de la carpeta /etc usando git y guardarlos como commits, que son instántaneas de como estaba la configuración en un momento dado.

El programa creará un commit cada vez que hagamos una operación importante, como actualizar paquetes, aunque también lo hará cada día con los cambios que hayamos hecho o incluso podemos crear un commit de manera manual para tener los cambios de una configuración en concreto.

Para instalarlo lo podríamos hacer con un comando como éste:

sudo apt install git etckeeper

Como al instalarlo crea el commit inicial, lo ideal sería hacerlo con una distro recién hecha para así tener toda la historia de cambios, aunque se puede instalar en cualquier momento, solo que todo lo que se haya cambiado antes no habrá sido monitoreado.

 

Uso de etckeeper

Para usar etckeeper, abrimos una consola de comandos, nos situamos en la carpeta /etc

cd /etc

y como root ejecutamos los diferentes comandos git, es decir, según la configuración de nuestro GNU/Linux debemos haber tecleado su - antes de introducir el comando o usar sudo si nuestro usuario ya está en los autorizados en sudoers, como yo voy a asumir este último escenario voy a asumir el uso de sudo.

Algunas cosas que podemos hacer con etckeeper

  • Ver la historia de cambios:
    sudo git log
  • Ver si hay cambios pendientes de controlar:
    sudo git status
  • Añadir cambios aún no controlados:
    sudo git add .
    sudo git commit -m "Descripción del cambio"
  • Si la cosa va mal, podemos deshacer el último cambio:
    sudo git reset --hard HEAD~1

Para más información mira cualquier manual de uso de git.