DEV Community

Vitor Rios
Vitor Rios

Posted on

Como Configurar Múltiplas Contas do GitHub em um Único Computador

Se você trabalha com mais de uma conta do GitHub, seja uma pessoal e outra corporativa, pode enfrentar problemas ao alternar entre elas no mesmo computador. Neste artigo, vamos configurar um ambiente onde você pode usar duas ou mais contas do GitHub sem conflitos.

1. Gerando Chaves SSH para Cada Conta

O GitHub usa chaves SSH para autenticação, então precisamos gerar uma chave para cada conta.

Passo 1: Criar as chaves SSH

Abra o terminal e execute os seguintes comandos:

ssh-keygen -t ed25519 -C "seu-email-pessoal@gmail.com" -f ~/.ssh/id_github_pessoal
ssh-keygen -t ed25519 -C "seu-email-trabalho@empresa.com" -f ~/.ssh/id_github_trabalho
Enter fullscreen mode Exit fullscreen mode

Isso criará duas chaves privadas e públicas em ~/.ssh/:

  • id_github_pessoal e id_github_pessoal.pub
  • id_github_trabalho e id_github_trabalho.pub

Passo 2: Adicionar as chaves SSH ao agente SSH

Carregue as chaves para o ssh-agent:

ssh-add ~/.ssh/id_github_pessoal
ssh-add ~/.ssh/id_github_trabalho
Enter fullscreen mode Exit fullscreen mode

Se o ssh-agent não estiver rodando, inicie-o:

eval "$(ssh-agent -s)"
Enter fullscreen mode Exit fullscreen mode

Passo 3: Adicionar as chaves ao GitHub

Agora, você precisa adicionar as chaves SSH geradas em cada conta do GitHub.

  1. Execute:
   cat ~/.ssh/id_github_pessoal.pub
Enter fullscreen mode Exit fullscreen mode
  1. Copie a chave e adicione-a na sua conta pessoal em GitHub > Settings > SSH and GPG keys.
  2. Repita o processo para id_github_trabalho.pub na conta corporativa.

2. Configurando o Arquivo SSH para Gerenciar Múltiplas Contas

Para que o Git saiba qual chave usar para cada conta, editamos o arquivo ~/.ssh/config:

nano ~/.ssh/config
Enter fullscreen mode Exit fullscreen mode

Adicione as seguintes configurações:

Host github.com-pessoal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_github_pessoal
    IdentitiesOnly yes

Host github.com-trabalho
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_github_trabalho
    IdentitiesOnly yes
Enter fullscreen mode Exit fullscreen mode

Agora, quando você clonar ou acessar repositórios, pode usar:

  • Para a conta pessoal: git@github.com-pessoal:usuario/repo.git
  • Para a conta do trabalho: git@github.com-trabalho:empresa/repo.git

3. Configurando o Git para Cada Conta

Agora, precisamos configurar o Git para usar o e-mail correto dependendo do repositório.

Opção 1: Configuração Local por Repositório

Vá até um repositório pessoal e defina o e-mail correto:

cd ~/meus-repositorios-pessoais/repo

git config user.email "seu-email-pessoal@gmail.com"
git config user.name "Seu Nome"
Enter fullscreen mode Exit fullscreen mode

Agora, vá até um repositório corporativo e defina o e-mail da empresa:

cd ~/projetos-da-empresa/repo

git config user.email "seu-email-trabalho@empresa.com"
git config user.name "Seu Nome"
Enter fullscreen mode Exit fullscreen mode

Opção 2: Configuração Global Automática

Se você quer que o Git alterne automaticamente dependendo do diretório, edite o arquivo global de configuração:

nano ~/.gitconfig
Enter fullscreen mode Exit fullscreen mode

Adicione as configurações abaixo:

[includeIf "gitdir:~/meus-repositorios-pessoais/*"]
    path = ~/.gitconfig-pessoal

[includeIf "gitdir:~/projetos-da-empresa/*"]
    path = ~/.gitconfig-trabalho
Enter fullscreen mode Exit fullscreen mode

Agora, crie os arquivos de configuração individuais:

nano ~/.gitconfig-pessoal
Enter fullscreen mode Exit fullscreen mode

Adicione:

[user]
    email = seu-email-pessoal@gmail.com
    name = Seu Nome
Enter fullscreen mode Exit fullscreen mode

Depois, para a conta corporativa:

nano ~/.gitconfig-trabalho
Enter fullscreen mode Exit fullscreen mode

Adicione:

[user]
    email = seu-email-trabalho@empresa.com
    name = Seu Nome
Enter fullscreen mode Exit fullscreen mode

Agora, qualquer repositório clonado dentro de ~/meus-repositorios-pessoais/ usará a conta pessoal, e qualquer repositório dentro de ~/projetos-da-empresa/ usará a conta corporativa automaticamente! 🚀


4. Como Clonar Repositórios com a Conta Correta

Ao clonar um repositório, sempre use o host SSH correto, por exemplo:

git clone git@github.com-pessoal:usuario/repo.git ~/meus-repositorios-pessoais/repo
Enter fullscreen mode Exit fullscreen mode

Ou para a conta corporativa:

git clone git@github.com-trabalho:empresa/repo.git ~/projetos-da-empresa/repo
Enter fullscreen mode Exit fullscreen mode

Se já clonou o repositório e quer corrigir a URL do origin, rode:

git remote set-url origin git@github.com-trabalho:empresa/repo.git
Enter fullscreen mode Exit fullscreen mode

Conclusão

Com essas configurações, você pode trabalhar com múltiplas contas do GitHub sem precisar ficar alternando credenciais manualmente. Agora, cada repositório usará automaticamente a conta correta, garantindo um fluxo de trabalho mais produtivo e organizado. 🚀

Se tiver alguma dúvida, deixe um comentário! 😉

Top comments (0)