Skip to main content

Administración de varias cuentas

Si usa una estación de trabajo para contribuir a proyectos para más de una cuenta, puede modificar la configuración de Git para simplificar el proceso de contribución.

Platform navigation

Contribución a varias cuentas mediante HTTPS y personal access token

Como alternativa, si quieres usar el protocolo HTTPS para ambas cuentas, puedes usar un personal access token diferente para cada cuenta configurando Git para almacenar credenciales distintas para cada repositorio.

  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 osxkeychain, estás usando la cadena de claves de macOS. Para borrar las credenciales, puede usar el asistente de credenciales en la línea de comandos:

      $ 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
      
  1. 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
    
  2. 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.

  3. 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. Abra 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
    
    • Si la salida es wincred, estás usando el Administrador de credenciales de Windows. Para borrar las credenciales, ejecuta el siguiente comando.

      Shell
      cmdkey /delete:LegacyGeneric:target=git:https://github.com
      
  1. 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
    
  2. 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.

  3. 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
    
  1. 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
    
  2. 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.

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

Contribución a varias cuentas mediante SSH y GIT_SSH_COMMAND

Si quieres usar el protocolo SSH para ambas cuentas, puedes usar claves SSH diferentes para cada cuenta. Para obtener más información sobre el uso de SSH, consulta Conectar a GitHub con SSH.

Para usar una clave SSH diferente para distintos repositorios clonados en la estación de trabajo, debes escribir una función contenedora de Shell para las operaciones de Git. La función debe realizar los pasos siguientes.

  1. Determinar el nombre completo del repositorio con el propietario mediante un comando como git config --get remote.origin.url.
  2. Elegir la clave SSH correcta para la autenticación.
  3. Modificar GIT_SSH_COMMAND en consecuencia. Para obtener más información sobre GIT_SSH_COMMAND, consulta Variables de entorno en la documentación de Git.

Por ejemplo, el siguiente comando establece la variable de entorno GIT_SSH_COMMAND para especificar un comando SSH que usa el archivo de clave privada en PATH/TO/KEY/FILE para la autenticación para clonar el repositorio denominado OWNER/REPOSITORY en GitHub.com.

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