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. Abra o terminal.

  2. Para confirmar o uso de um gerenciador de credenciais, insira o comando a seguir e anote a saída.

    Shell
    git config --get credential.helper
    
  3. Se a saída confirmar que você está usando um gerenciador de credenciais, desmarque as credenciais armazenadas para o gerenciador de credenciais.

    • Se a saída não incluir o nome de um gerenciador de credenciais, não haverá nenhum gerenciador de credenciais configurado e você poderá prosseguir para a próxima etapa.

    • 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]
      >
      
    • Se a saída for manager (ou manager-core nas versões anteriores) você está usando o Gerenciador de Credenciais do Git. Para limpar as credenciais, execute o comando a seguir.

      Shell
      echo "protocol=https\nhost=github.com" | git credential-manager erase
      
  4. Para configurar o Git a fim de armazenar credenciais em cache para a URL completa do repositório remoto de cada repositório que você acessar no GitHub, insira o comando a seguir.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. Para cada conta, crie um personal access token (classic) dedicado com o escopo repo. Ou, para cada uma das contas e para cada organização da qual você é membro, crie um fine-grained personal access token que possa acessar os repositórios desejados e que tenha permissões de leitura e gravação no conteúdo do repositório. Para saber mais, confira Gerenciar seus tokens de acesso pessoal.

  6. Na primeira vez que você usar o Git para clonar um repositório ou acessar dados em um repositório que você já clonou, o Git solicitará credenciais. Forneça ao personal access token da conta acesso ao repositório.

    O Git armazenará em cache o personal access token baseado na URL completa do repositório remoto, e você poderá acessar e gravar dados do repositório no GitHub.com usando a conta correta.

  1. Open Git Bash.

  2. Para confirmar o uso de um gerenciador de credenciais, insira o comando a seguir e anote a saída.

    Shell
    git config --get credential.helper
    
  3. Se a saída confirmar que você está usando um gerenciador de credenciais, desmarque as credenciais armazenadas para o gerenciador de credenciais.

    • Se a saída não incluir o nome de um gerenciador de credenciais, não haverá nenhum gerenciador de credenciais configurado e você poderá prosseguir para a próxima etapa.
    • Se a saída for manager (ou manager-core nas versões anteriores) você está usando o Gerenciador de Credenciais do Git. Para limpar as credenciais, execute o comando a seguir.
    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. Para configurar o Git a fim de armazenar credenciais em cache para a URL completa do repositório remoto de cada repositório que você acessar no GitHub, insira o comando a seguir.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. Para cada conta, crie um personal access token (classic) dedicado com o escopo repo. Ou, para cada uma das contas e para cada organização da qual você é membro, crie um fine-grained personal access token que possa acessar os repositórios desejados e que tenha permissões de leitura e gravação no conteúdo do repositório. Para saber mais, confira Gerenciar seus tokens de acesso pessoal.

  6. Na primeira vez que você usar o Git para clonar um repositório ou acessar dados em um repositório que você já clonou, o Git solicitará credenciais. Forneça ao personal access token da conta acesso ao repositório.

    O Git armazenará em cache o personal access token baseado na URL completa do repositório remoto, e você poderá acessar e gravar dados do repositório no GitHub.com usando a conta correta.

  1. Abra o terminal.

  2. Para confirmar o uso de um gerenciador de credenciais, insira o comando a seguir e anote a saída.

    Shell
    git config --get credential.helper
    
  3. Se a saída confirmar que você está usando um gerenciador de credenciais, desmarque as credenciais armazenadas para o gerenciador de credenciais.

    • Se a saída não incluir o nome de um gerenciador de credenciais, não haverá nenhum gerenciador de credenciais configurado e você poderá prosseguir para a próxima etapa.
    • Se a saída for manager (ou manager-core nas versões anteriores) você está usando o Gerenciador de Credenciais do Git. Para limpar as credenciais, execute o comando a seguir.
    Shell
    echo "protocol=https\nhost=github.com" | git credential-manager erase
    
  4. Para configurar o Git a fim de armazenar credenciais em cache para a URL completa do repositório remoto de cada repositório que você acessar no GitHub, insira o comando a seguir.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. Para cada conta, crie um personal access token (classic) dedicado com o escopo repo. Ou, para cada uma das contas e para cada organização da qual você é membro, crie um fine-grained personal access token que possa acessar os repositórios desejados e que tenha permissões de leitura e gravação no conteúdo do repositório. Para saber mais, confira Gerenciar seus tokens de acesso pessoal.

  6. Na primeira vez que você usar o Git para clonar um repositório ou acessar dados em um repositório que você já clonou, o Git solicitará credenciais. Forneça ao personal access token da conta acesso ao repositório.

    O Git armazenará em cache o personal access token baseado na URL completa do repositório remoto, e você poderá acessar e gravar dados do repositório no GitHub.com usando a conta correta.

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-se ao GitHub com o 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 Referência de conta pessoal.