Si tienes varias cuentas de GitHub y deseas gestionarlas desde una sola máquina MacOS/Linux, sigue estos pasos:
- MacOS tiene un archivo de configuración SSH ubicado en el directorio
.ssh
. - Navega a él ejecutando
cd ~/.ssh
en tu terminal.
- Si tienes, por ejemplo, 2 cuentas de GitHub (una para trabajo y otra personal), necesitas crear pares de claves SSH para cada una.
- Ejecuta:
ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
- Se te pedirá que ingreses un nombre de archivo para guardar la clave. Asegúrate de que sea único, por ejemplo,
usuario-1
,usuario-2
.
- Registra las claves SSH generadas en las respectivas cuentas de GitHub.
- Sigue estos pasos para hacerlo.
- Regresa al archivo de configuración SSH en
~/.ssh
y modifícalo así:# cuenta usuario1 Host github.com-usuario1 HostName github.com User git IdentityFile ~/.ssh/github-usuario1 IdentitiesOnly yes # cuenta usuario2 Host github.com-usuario2 HostName github.com User git IdentityFile ~/.ssh/github-usuario2 IdentitiesOnly yes
- Ejecuta:
git clone git@github.com-usuario1:usuario1/nombre-de-tu-repo.git nombre-de-tu-repo_usuario1
- Abre la configuración local de git usando
git config --local -e
y añade:[user] name = usuario1 email = usuario1@gmail.com
- Ejemplo:
git@github.com-usuario1:usuario1/nombre-de-tu-repo.git nombre-de-tu-repo_usuario1
- Establece la URL remota usando:
git remote set-url origin git@github.com-usuario1:usuario1/nombre-de-tu-repo.git nombre-de-tu-repo_usuario1
El archivo .git/config
de tu repositorio local se vería así:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@github.com-usuario1:usuario1/nombre-de-tu-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[user]
name = usuario1
email = usuario1@gmail.com