Skip to main content

Managing multiple accounts

If you use one workstation to contribute to projects for more than one account, you can modify your Git configuration to simplify the contribution process.

Platform navigation

Contributing to multiple accounts using HTTPS and personal access tokens

Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens for each account by configuring Git to store different credentials for each repository.

  1. Abre Terminal.

  2. Para confirmar el uso de un administrador de credenciales, escribe el siguiente comando y anota la salida.

    Shell
    git config --get credential.helper
    
  3. Si la salida confirma que estás usando un administrador de credenciales, borra las credenciales almacenadas para el administrador de credenciales.

    • Si la salida no incluye el nombre de un administrador de credenciales, no hay ningún administrador de credenciales configurado y puedes continuar con el paso siguiente.

    • If the output is osxkeychain, you're using the macOS keychain. To clear the credentials, you can use the credential helper on the command line:

      $ git credential-osxkeychain erase
      host=github.com
      protocol=https
      > [Press Return]
      >
      
    • Si la salida es manager (o manager-core en versiones previas), estás usando el Administrador de credenciales de Git. Para borrar las credenciales, ejecuta el siguiente comando.

      Shell
      echo "protocol=https\nhost=github.com" | git credential-manager erase
      
  4. Si quieres configurar Git para que almacene en caché las credenciales de la dirección URL remota completa de cada repositorio al que accedes en GitHub, escribe el comando siguiente.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. En cada una de tus cuentas, crea un personal access token (classic) dedicado con el ámbito repo. O, para cada una de tus cuentas y para cada organización de la que eres miembro, crea un fine-grained personal access token que pueda acceder a los repositorios deseados y que tenga permisos de lectura y escritura en los contenidos del repositorio. Para más información, consulta Administración de tokens de acceso personal.

  6. La primera vez que uses Git para clonar un repositorio o acceder a los datos de un repositorio que ya has clonado, Git solicitará credenciales. Proporciona personal access token para la cuenta con acceso al repositorio.

    Git almacenará en caché el personal access token en función de la dirección URL remota completa del repositorio y podrás acceder a los datos del repositorio y escribirlos en GitHub.com con la cuenta correcta.

  1. Open Git Bash.

  2. Para confirmar el uso de un administrador de credenciales, escribe el siguiente comando y anota la salida.

    Shell
    git config --get credential.helper
    
  3. Si la salida confirma que estás usando un administrador de credenciales, borra las credenciales almacenadas para el administrador de credenciales.

    • Si la salida no incluye el nombre de un administrador de credenciales, no hay ningún administrador de credenciales configurado y puedes continuar con el paso siguiente.
    • Si la salida es manager (o manager-core en versiones previas), estás usando el Administrador de credenciales de Git. Para borrar las credenciales, ejecuta el siguiente comando.
    Shell
    echo "protocol=https`nhost=github.com" | git credential-manager erase
    
    • If the output is wincred, you're using the Windows Credential Manager. To clear the credentials, enter the following command.

      Shell
      cmdkey /delete:LegacyGeneric:target=git:https://github.com
      
  4. Si quieres configurar Git para que almacene en caché las credenciales de la dirección URL remota completa de cada repositorio al que accedes en GitHub, escribe el comando siguiente.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. En cada una de tus cuentas, crea un personal access token (classic) dedicado con el ámbito repo. O, para cada una de tus cuentas y para cada organización de la que eres miembro, crea un fine-grained personal access token que pueda acceder a los repositorios deseados y que tenga permisos de lectura y escritura en los contenidos del repositorio. Para más información, consulta Administración de tokens de acceso personal.

  6. La primera vez que uses Git para clonar un repositorio o acceder a los datos de un repositorio que ya has clonado, Git solicitará credenciales. Proporciona personal access token para la cuenta con acceso al repositorio.

    Git almacenará en caché el personal access token en función de la dirección URL remota completa del repositorio y podrás acceder a los datos del repositorio y escribirlos en GitHub.com con la cuenta correcta.

  1. Abre Terminal.

  2. Para confirmar el uso de un administrador de credenciales, escribe el siguiente comando y anota la salida.

    Shell
    git config --get credential.helper
    
  3. Si la salida confirma que estás usando un administrador de credenciales, borra las credenciales almacenadas para el administrador de credenciales.

    • Si la salida no incluye el nombre de un administrador de credenciales, no hay ningún administrador de credenciales configurado y puedes continuar con el paso siguiente.
    • Si la salida es manager (o manager-core en versiones previas), estás usando el Administrador de credenciales de Git. Para borrar las credenciales, ejecuta el siguiente comando.
    Shell
    echo "protocol=https\nhost=github.com" | git credential-manager erase
    
  4. Si quieres configurar Git para que almacene en caché las credenciales de la dirección URL remota completa de cada repositorio al que accedes en GitHub, escribe el comando siguiente.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. En cada una de tus cuentas, crea un personal access token (classic) dedicado con el ámbito repo. O, para cada una de tus cuentas y para cada organización de la que eres miembro, crea un fine-grained personal access token que pueda acceder a los repositorios deseados y que tenga permisos de lectura y escritura en los contenidos del repositorio. Para más información, consulta Administración de tokens de acceso personal.

  6. La primera vez que uses Git para clonar un repositorio o acceder a los datos de un repositorio que ya has clonado, Git solicitará credenciales. Proporciona personal access token para la cuenta con acceso al repositorio.

    Git almacenará en caché el personal access token en función de la dirección URL remota completa del repositorio y podrás acceder a los datos del repositorio y escribirlos en GitHub.com con la cuenta correcta.

Contributing to multiple accounts using SSH and GIT_SSH_COMMAND

If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see Conectar a GitHub con SSH.

To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps.

  1. Determine the repository's full name with owner, using a command such as git config --get remote.origin.url.
  2. Choose the correct SSH key for authentication.
  3. Modify GIT_SSH_COMMAND accordingly. For more information about GIT_SSH_COMMAND, see Environment Variables in the Git documentation.

For example, the following command sets the GIT_SSH_COMMAND environment variable to specify an SSH command that uses the private key file at PATH/TO/KEY/FILE for authentication to clone the repository named OWNER/REPOSITORY on GitHub.com.

Shell
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY

Next steps

For reference information, see Referencia de la cuenta personal.