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
Isso criará duas chaves privadas e públicas em ~/.ssh/
:
-
id_github_pessoal
eid_github_pessoal.pub
-
id_github_trabalho
eid_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
Se o ssh-agent
não estiver rodando, inicie-o:
eval "$(ssh-agent -s)"
Passo 3: Adicionar as chaves ao GitHub
Agora, você precisa adicionar as chaves SSH geradas em cada conta do GitHub.
- Execute:
cat ~/.ssh/id_github_pessoal.pub
- Copie a chave e adicione-a na sua conta pessoal em GitHub > Settings > SSH and GPG keys.
- 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
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
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"
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"
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
Adicione as configurações abaixo:
[includeIf "gitdir:~/meus-repositorios-pessoais/*"]
path = ~/.gitconfig-pessoal
[includeIf "gitdir:~/projetos-da-empresa/*"]
path = ~/.gitconfig-trabalho
Agora, crie os arquivos de configuração individuais:
nano ~/.gitconfig-pessoal
Adicione:
[user]
email = seu-email-pessoal@gmail.com
name = Seu Nome
Depois, para a conta corporativa:
nano ~/.gitconfig-trabalho
Adicione:
[user]
email = seu-email-trabalho@empresa.com
name = Seu Nome
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
Ou para a conta corporativa:
git clone git@github.com-trabalho:empresa/repo.git ~/projetos-da-empresa/repo
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
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! 😉