Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Utilizando mais de um repositorio git

Já atuo como desenvolvedor e possuo chaves SSH configuradas globalmente para o repositório da minha empresa. No entanto, estou iniciando cursos e projetos pessoais e preciso de uma configuração que permita gerenciar múltiplas identidades Git (pessoal e profissional) na mesma máquina. Como posso configurar o Git e o SSH para que, dependendo da pasta onde eu estiver trabalhando, ele utilize automaticamente a chave SSH e o e-mail corretos, evitando conflitos de permissão ou commits com a identidade errada?

1 resposta
solução!

Olá, Bernardo! Tudo bem?

Obrigado por compartilhar sua dúvida no fórum.

Essa é uma situação bem comum para quem já atua profissionalmente e começa a separar projetos pessoais dos corporativos. Dá para resolver isso de forma organizada usando configuração local do Git + múltiplas chaves SSH.

Separando identidades no Git (por projeto)

O Git permite definir user.name e user.email por repositório, sem afetar o global.

Dentro do repositório pessoal, por exemplo:

git config user.name "Bernardo Morais"
git config user.email "bernardo@email.com"

E no repositório da empresa, você mantém ou define:

git config user.name "Bernardo Morais - Empresa"
git config user.email "bernardo@empresa.com"

Essas configurações ficam salvas apenas naquele projeto.

Usando múltiplas chaves SSH automaticamente

O ideal é ter uma chave para cada contexto.

Exemplo de criação:

ssh-keygen -t ed25519 -C "bernardo@empresa.com"
ssh-keygen -t ed25519 -C "bernardo@email.com"

Depois, configure o arquivo ~/.ssh/config assim:

Host github-empresa
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_empresa

Host github-pessoal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_pessoal

Agora, no repositório da empresa, use o remote assim:

git remote set-url origin git@github-empresa:empresa/repositorio.git

E no projeto pessoal:

git remote set-url origin git@github-pessoal:seu-usuario/repositorio.git

Espero ter te ajudado!

Conte com o fórum sempre que precisar!

Abraços e bons estudos!