Você já se encontrou em uma situação onde precisa ter mais de uma conta Git configurada na mesma máquina? Talvez você precise de uma conta pessoal e outra para a empresa.
Nesses casos, não é interessante ter um usuário global configurado na máquina, pois isso poderia acarretar no problema de fazer um commit com a conta errada para um projeto específico.
Antes de mais nada, vamos configurar duas chaves SSH, uma para cada perfil.
Criando a chave SSH
Abra o seu terminal e digite o seguinte comando:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Isso cria uma nova chave SSH, usando o e-mail fornecido como rótulo.
> Generating public/private ALGORITHM key pair.
Quando for solicitado a "Inserir um arquivo no qual salvar a chave", você pode pressionar Enter para aceitar o local padrão do arquivo.
Porém recomendo mudar o nome do arquivo pois teremos 2 chaves distintas.
> Enter a file in which to save the key (/Users/YOU/.ssh/id_rsa_nome_aqui): [Press enter]
Depois de pressionar enter provavelmente aparcerá a frase a seguir:
> Enter passphrase (empty for no passphrase): [Type a passphrase]
Você pode optar por não usar uma senha para suas chaves SSH. Se preferir adicionar uma senha, digite-a e pressione Enter. Caso contrário, apenas pressione Enter sem digitar nada.
Repita o mesmo procedimento para a segunda chave.
Não se esqueça de adicionar cada chave à sua conta do GitHub ou outro serviço que você esteja utilizando.
Configurando a Chave para Repositórios Distintos
Vamos criar dois aliases para facilitar a configuração do Git.
O que é um "alias"?
Um alias é uma maneira de definir comandos personalizados para economizar tempo e digitar menos.
Abra seu terminal com o editor de sua preferência. Aqui, usaremos o Vim.
$ vim ~/.zshrc
Se você também usa o Vim, pressione "a" para entrar no modo de inserção e cole o seguinte:
# ALIAS CONFIG GIT
alias gcg="git config --edit --global"
alias gcl="git config --edit --local"
Pressione Esc e digite:
:wq!
Agora, recarregue seu arquivo de configuração do seu terminal:
souce ~/.zshrc
Vá até o diretório do seu repositório e abra o terminal a partir dele. Digite:
$ gcl
Isso abrirá o arquivo .git/config do repositório no qual você está. Configure-o da seguinte forma:
[core]
sshCommand = ssh -i ~/.ssh/sua-chave-ssh -F /dev/null
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@github.com:seu-username/seu-repo
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
[credential]
username = Seu-username
[user]
email = seuemail@teste.com
name = Seu Nome
"~/seu-caminho/seu-repositorio/.git/config" 19L,
Dentro [core] coloque:
sshCommand = ssh -i ~/.ssh/sua-chave-ssh -F /dev/null
Logo a baixo nas últimas linhas coloque:
[credential]
username = Seu-username
[user]
email = seuemail@teste.com
name = Seu Nome
Dessa forma, o repositório específico utilizará as credenciais configuradas.
Não se esqueça de recarregar o arquivo de configuração
source ~/.zshrc
Para atualizar o terminal.
Lembre-se de repetir esse processo para cada repositório em sua máquina.
Espero que isso tenha ajudado!
Top comments (0)