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.
-
Abra o terminal.
-
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
git config --get credential.helper
-
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
(oumanager-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
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
-
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
git config --global credential.https://github.com.useHttpPath true
-
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. -
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.
-
Abra o Git Bash.
-
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
git config --get credential.helper
-
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
(oumanager-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
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
cmdkey /delete:LegacyGeneric:target=git:https://github.com
-
-
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
git config --global credential.https://github.com.useHttpPath true
-
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. -
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.
-
Abra o terminal.
-
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
git config --get credential.helper
-
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
(oumanager-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
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
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
git config --global credential.https://github.com.useHttpPath true
-
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. -
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.
- Determine o nome completo do repositório com o proprietário, usando um comando como
git config --get remote.origin.url
. - Escolha a chave SSH correta para autenticação.
- Modifique
GIT_SSH_COMMAND
adequadamente. Para obter mais informações sobreGIT_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.
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY