
Al final, ante la falta de un portátil operativo, he configurado mi ordenador de sobremesa para programar, así que he tenido que configurar Git para trabajar con múltiples plataformas de control de versiones. El proceso para hacerlo es bastante sencillo y similar en sistemas GNU / Linux y Mac OSX.
Control de versiones
El control de versiones permite gestionar los cambios introducidos en los productos de software. A día de hoy es una herramienta esencial en la ingeniería del software.
Git es el software más extendido, fue diseñado por Linus Torvalds en 2005, después de que la licencia del anterior sistema utilizado en el desarrollo del núcleo de Linux fuera revocada. Plataformas como GitHub, GitLab, Bitbucket o Codeberg lo utilizan.
También existen múltiples opciones a la hora de gestionar tu propio software de control de versiones basado en Git: Gitea, Forgejo, Gogs, Apache Allura, Gerrit, sourcehut, tangled o Radicle, por citar algunas.
Existen otros programas para el control de versiones, así a bote pronto, recuerdo haber utilizado Subversion (SVN), Visual SourceSafe (antes de que Microsoft adquiriera GitHub) o Mercurial. BitKeeper es el que se utilizó en el desarrollo del núcleo de Linux antes de Git.
Configuración ssh
La clave para esta configuración múltiple, que también sirve para tener múltiples cuentas de cada servicio (por ejemplo, la del trabajo y la personal en GitHub) es el fichero config que deberemos crear en el directorio .ssh.
Este directorio suele estar dentro de tu directorio de usuario en todos los sistemas operativos, como lleva un . delante, está oculto, así que un simple listado del contenido del directorio no suele mostrarlo. De todas maneras a la hora de entrar para crear o editar el fichero config se puede escribir su ruta completa con el . delante.
El caso es que con tu editor favorito tienes que crear el fichero config sin extensión alguna. Y el contenido de este fichero será la clave a la hora de configurar Git para trabajar con múltiples plataformas o cuentas.
El protocolo ssh se utiliza para establecer conexiones seguras sin la necesidad de utilizar usuario y contraseña. Las credenciales se verifican mediante un par de claves, la clave pública y la clave privada. Aquí podéis encontrar una explicación sobre SSH y las claves privada y pública.
El comando que se suele utilizar para generar las claves es el siguiente, de todas maneras, las plataformas suelen tener una página con documentación sobre este paso.
ssh-keygen -t ed25519 -C "email@personal" -f ~/.ssh/id_ed25519_plataforma
Debes crear un bloque para cada una de las cuentas que quieres gestionar, especificando su plataforma y el fichero con la clave privada generada. La clave pública la utilizaremos en la plataforma del servicio para poder establecer la conexión con nuestro ordenador.
El contenido del fichero debe quedar similar a este ejemplo:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yes
Host codeberg.org
HostName codeberg.org
User git
IdentityFile ~/.ssh/id_ed25519_codeberg
IdentitiesOnly yes
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519_gitlab
IdentitiesOnly yesAhora que ya tenemos el fichero creado, en las plataformas debemos añadir nuestra clave pública, aquí os muestro dónde hacerlo con fecha de febrero de 2026. No sé si en un futuro cambiarán la forma o las interfaces de usuario para hacerlo.
GitHub

Codeberg

GitLab

Una vez establecidas las claves públicas en las plataformas podemos probar la conexión con este comando:
ssh -T git@Host
Hay que cambiar el valor de Host por el establecido en el fichero config. En mi caso es el mismo que el de HostName porque sólo he establecido una cuenta en cada plataforma. Pero, por ejemplo, podría definirse como valor de Host github-personal o github-trabajo para acceder a múltiples cuentas en GitHub.
Y con esto ya estamos listos para crear nuestros repositorios o clonar repositorios de las diferentes plataformas. Simplemente, a la hora de ejecutar los comandos, recordar utilizar el Host adecuado.
git clone git@Host:tuusuario/repo.git
Con estos sencillos pasos se puede configurar Git para trabajar con múltiples plataformas y/o cuentas.
Desconozco, dada la variedad de clientes que hay y las integraciones con los IDE y editores, como configurarlos para que acepten esta configuración. Básicamente, es una configuración de SSH, con lo cual no debería tener mayor complejidad que utilizar los diferentes Host definidos en el fichero config.
Un primer paso importante es tener instalado Git, se puede descargar aquí o instalar con el gestor de paquetes del sistema operativo.
Un comentario
Tenía pendiente una entrada así en mi blog.
Hay un par de cosas más que son interesantes, por ejemplo configurar para que determinados proyectos usen por defecto un usuario de git, o usar programas tipo 1Password para gestionar las claves y no tener que ir copiándolas por ahí.
Gracias por compartir. Siempre viene bien cotillear cómo trabajan los demás.