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