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 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 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!

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!