Skip to main content

Como gerenciar várias contas

Se você usar uma estação de trabalho para contribuir com projetos para mais de uma conta, poderá modificar sua configuração do Git para simplificar o processo de contribuição.

Platform navigation

Contribuir com diversas contas usando HTTPS e o personal access tokens

Como alternativa, a fim de usar o protocolo HTTPS para ambas as contas, use personal access token diferentes para cada conta configurando o Git a fim de armazenar credenciais diferentes com relação a cada repositório.

  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 osxkeychain, você estará usando o conjunto de chaves macOS. Para limpar as credenciais, você pode usar o auxiliar de credenciais na linha de comando:

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

  3. 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 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
    
    • Se a saída for wincred, você estará usando o Gerenciador de Credenciais do Windows. Para limpar as credenciais, insira o comando a seguir.

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

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

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

Contribuindo para várias contas usando SSH e GIT_SSH_COMMAND

Se você quiser usar o protocolo SSH para ambas as contas, poderá usar chaves SSH diferentes em cada conta. Para saber mais sobre como usar o SSH, confira Conectar-se ao GitHub com o SSH.

Para usar uma chave SSH diferente para repositórios diferentes que você clona em sua estação de trabalho, você deve escrever uma função de wrapper de shell para operações do Git. A função deve executar as etapas a seguir.

  1. Determine o nome completo do repositório com o proprietário, usando um comando como git config --get remote.origin.url.
  2. Escolha a chave SSH correta para autenticação.
  3. Modifique GIT_SSH_COMMAND adequadamente. Para obter mais informações sobre GIT_SSH_COMMAND, confira Variáveis de ambiente na documentação do Git.

Por exemplo, o comando a seguir define a variável de ambiente GIT_SSH_COMMAND para especificar um comando SSH que usa o arquivo de chave privada em PATH/TO/KEY/FILE para autenticação a fim de clonar o repositório OWNER/REPOSITORY no GitHub.com.

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