Instalar o Git e configurar user.name e user.email
Instalação no Windows, macOS e Linux, o que o git --version informa e como acertar user.name e user.email antes do commit sair com autor errado.
Instalar o Git coloca o comando git na máquina; configurar user.name e
user.email define a identidade gravada nos próximos commits. Esses dados não
são login nem senha. Eles fazem parte do histórico e precisam representar quem
assumiu a autoria daquela mudança.
Os testes desta lição usaram uma pasta de configuração temporária para não alterar o perfil real do macOS. O executável respondeu:
git --versionEscolha uma instalação que você consegue atualizar
No Windows, o instalador oficial do Git for Windows inclui Git Bash e as
integrações básicas. No macOS, as Command Line Tools da Apple fornecem Git; o
Homebrew é outra opção quando você quer acompanhar a versão distribuída pelo
gerenciador. Em Debian e Ubuntu, o pacote vem pelo apt; em Fedora, pelo dnf.
# Debian ou Ubuntu
sudo apt update
sudo apt install git
# Fedora
sudo dnf install gitEsses comandos são orientação por plataforma e não foram executados no macOS do
teste. A execução validada ocorreu no macOS. Depois de instalar, feche e abra o terminal se o
comando ainda não aparecer. command -v git mostra qual executável venceu no
PATH:
command -v git
git version --build-options | sed -n '1,3p'O caminho pode ser outro na sua máquina. O ponto é conferir, não copiar o resultado. Ter dois Gits instalados não é necessariamente um problema, mas explica por que uma opção existe no computador do colega e não no seu.
Um commit precisa de identidade
Para reproduzir a falha sem tocar no perfil da pessoa autora, o teste ativou
user.useConfigOnly, esvaziou nome e e-mail e tentou commitar num repositório
temporário:
HOME="$HOME_TEMP" git -c user.useConfigOnly=true \
-c user.name= -c user.email= commit -m "docs: inicia catálogo"*** Please tell me who you are.
Run
git config –global user.email “you@example.com” git config –global user.name “Your Name”
to set your account’s default identity. Omit –global to set the identity only in this repository.
fatal: empty ident name (for <>) not allowed
A mensagem não pede credencial do GitHub. Ela pede os metadados de autoria. Configure uma identidade global quando ela serve para a maioria dos seus projetos:
HOME="$HOME_TEMP" git config --global user.name "Ana Souza"
HOME="$HOME_TEMP" git config --global user.email "ana@example.test"
HOME="$HOME_TEMP" git config --global --get-regexp '^user\.'Use um endereço de exemplo nos exercícios, mas coloque um e-mail seu na configuração real. Se o repositório pertence ao trabalho e exige outro e-mail, uma configuração local substitui a global só naquela pasta.
Global, local e system formam uma cascata
Pense nas três camadas como regras de uma rede de lojas. system vale para a
máquina; global, para a pessoa usuária; local, apenas para a unidade atual.
A regra mais específica vence. O limite dessa analogia é que algumas chaves
podem acumular valores, em vez de uma simplesmente apagar a outra.
No laboratório, o e-mail global era ana@example.test, mas a loja recebeu um
e-mail local:
git config --local user.email "ana.loja@example.test"
git config user.name
git config user.emailPara descobrir a origem de cada valor, não tente adivinhar. Peça a lista com arquivo de origem:
HOME="$HOME_TEMP" git config --list --show-originO caminho temporário é parte da execução, não um local que você deve criar. Na sua máquina, procure a última ocorrência da chave em questão.
Defina a branch inicial e um editor conhecido
Novos repositórios podem começar em main, evitando renomear a branch depois.
O editor é usado quando um comando precisa de uma mensagem e você não passou
-m.
git config --global init.defaultBranch main
git config --global core.editor "code --wait"
git config --global --get-regexp '^(init\.defaultBranch|core\.editor)$'Só copie code --wait se o comando code funciona no seu terminal. Vim, Nano
e outros editores também servem. O requisito é saber salvar e fechar; um editor
desconhecido parece que “travou” o Git durante merge e rebase.
Corrija o último autor antes de publicar
Se apenas o último commit local saiu com identidade errada, ajuste a configuração e recrie seus metadados:
git config user.name "Ana Souza"
git config user.email "ana@example.test"
git commit --amend --reset-author --no-edit
git log -1 --format='%an <%ae>'O amend cria outro commit, portanto o hash muda. Se o commit já foi enviado e outras pessoas o puxaram, reescrever exige coordenação. Para vários commits antigos, não rode receitas de reescrita às cegas: converse com o time, preserve uma referência de segurança e entenda o impacto no remoto. A lição de rebase e histórico explica por que hashes mudam.
Token e SSH só entram ao falar com um remoto
Nome e e-mail identificam autoria. Token HTTPS ou chave SSH autenticam uma
operação no GitHub. São problemas separados. Nunca coloque token em
user.password, no endereço do remote ou num arquivo commitado. Consulte o
fluxo atual na documentação do provedor e use o gerenciador de credenciais.
O comando abaixo apenas inspeciona remotos; num repositório ainda local, não há saída:
git remote -vO comando não escreveu nada no terminal porque nenhum remoto estava
configurado. Nesse caso, stdout vazio é o resultado esperado.
Na prática de remote, push, clone e pull, o remoto usado nos testes é bare e local, por isso não pede credencial. Quando você trocar esse caminho por GitHub, escolha HTTPS com token ou SSH com chave, sem publicar o segredo.
Sua missão termina quando git config --list --show-origin mostra o nome e o
e-mail corretos, você identifica qual arquivo forneceu cada valor e um commit
de teste exibe a autoria esperada. Depois avance para
git init e git commit, sem alterar
configurações de projetos reais durante o experimento.
Perguntas frequentes
user.email precisa ser o mesmo e-mail público do GitHub?
Dúvidas e comentários
Travou em algum passo? Pergunte aqui — a equipe e outros alunos respondem.
Entrar para perguntarÉ o mesmo login gratuito dos cursos.
Nenhuma dúvida por aqui ainda — a primeira pode ser a sua.
Todo o código deste artigo foi executado em git version 2.54.0 (Apple Git-156) no macOS 27, e as saídas exibidas são as reais — como produzimos este conteúdo.
Fontes consultadas
- Pro Git — First-Time Git Setup — git-scm.com
- Git — git config — git-scm.com


