Skip to content

Instantly share code, notes, and snippets.

@AnthonyLzq
Last active August 12, 2023 06:28
Show Gist options
  • Save AnthonyLzq/04529d3422b6df6cac6390582f197735 to your computer and use it in GitHub Desktop.
Save AnthonyLzq/04529d3422b6df6cac6390582f197735 to your computer and use it in GitHub Desktop.
Gestionar múltiples cuentas de GitHub

Gestionar Múltiples Cuentas de GitHub en MacOS/Linux

Si tienes varias cuentas de GitHub y deseas gestionarlas desde una sola máquina MacOS/Linux, sigue estos pasos:

1. Configuración de SSH:

  • MacOS tiene un archivo de configuración SSH ubicado en el directorio .ssh.
  • Navega a él ejecutando cd ~/.ssh en tu terminal.

2. Generación de Claves SSH:

  • 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.

3. Registrar Claves SSH en GitHub:

  • Registra las claves SSH generadas en las respectivas cuentas de GitHub.
  • Sigue estos pasos para hacerlo.

4. Modificar el Archivo de Configuración SSH:

  • 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

5. Clonar Tu Repositorio:

  • Ejecuta:
    git clone git@github.com-usuario1:usuario1/nombre-de-tu-repo.git nombre-de-tu-repo_usuario1

6. Configura la Identidad de Git:

  • Abre la configuración local de git usando git config --local -e y añade:
    [user]
        name = usuario1
        email = usuario1@gmail.com

7. Asegúrate de que la URL Remota Esté en el Formato Correcto:

  • 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

Ejemplo de Archivo .git/config:

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment