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!

Feb 26, 2025 - 14:15
 0
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.

  1. Execute:
   cat ~/.ssh/id_github_pessoal.pub
  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

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!