Priscila Oliveira
Posted on May 27, 2024
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!
Posted on May 27, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 30, 2024