Multiple Github Accounts


Como trabalhar com multiplas contas do Github

Provavelmente muitas pessoas já passaram por esta situação de ter que trabalhar com múltiplas contas do Github, e por conta disso terem que utilizar chaves diferentes…. Algumas soluções, pelo que pude pesquisar, eram de deixar a configuração do ssh config parecida e só trocar chave via ssh agent, outros inclusive alternando via shell o arquivo de configuração do ssh config, e várias outras façanhas para automatizar isso…

Bom, pesquisando e pesquisando … encontrei esta solução, que com base na própria documentação do Git, permite você trabalhar com as suas duas contas, e com chaves distintas, ao mesmo tempo 💥

E sem mais delongas, é simples:

Arquivos de inclusão

Criaremos arquivos de inclusão, onde através do seu .gitconfig, iremos referenciar cada um deles, ficando assim:

Nome do arquivo: .gitconfig-<nomedousuario>.inc, com o seguinte conteúdo abaixo…

[core]
  SshCommand = "ssh -i ~/.ssh/id_rsa"
[user]
  name = <usuário>
  email = <email do usuário>

Crie um arquivo igual a este para cada conta, com suas respectivas chaves e deixe no mesmo diretório do próprio .gitconfig

Git Config

Agora no próprio .gitconfig, iremos referenciar estes dois arquivos, conforme abaixo:

...
...
[includeIf "gitdir:/work/git/"]
	path = .gitconfig-<nomedousuario>.inc

[includeIf "gitdir:/pessoal/git/"]
	path = .gitconfig-<nomedousuario>.inc
...
...

onde através desta inclusão condicional, o dado é repassado para o gitdir, dando match nos dados de diretório dos seus repositórios

Agora inicialize outro terminal, você verá que acessando cada repositório relacionado a estas referências, será possível fazer pull/push sem precisar mexer em mais nenhuma configuração 😆

cya! 🎶🎶🎶

Última modificação: 19 July 2023