Configurações essenciais do git que todo desenvolvedor deveria conhecer

O Git funciona bem por padrão, mas pequenas alterações na configuração podem tornar seu trabalho diário mais rápido, limpo e menos propenso a erros. Seja programando sozinho ou com uma equipe, configurar o Git corretamente ajuda a evitar problemas comuns antes que eles aconteçam.
Neste artigo, vamos percorrer as configurações essenciais do Git que todo desenvolvedor deveria conhecer e aplicar.
Principais Pontos
- Configure corretamente seu nome de usuário, e-mail e assinatura de commits
- Melhore o desempenho do Git com configurações práticas
- Configure a saída de diff e log para revisões de código mais fáceis
Configurações básicas de identidade
Antes de fazer seu primeiro commit, o Git precisa saber quem você é.
Defina seu nome de usuário e e-mail globalmente:
git config --global user.name "Seu Nome"
git config --global user.email "voce@exemplo.com"
Se você planeja assinar commits (recomendado para projetos de código aberto ou profissionais), defina também sua chave de assinatura GPG:
git config --global user.signingkey SUA_CHAVE_ID
E diga ao Git para assinar todos os commits por padrão:
git config --global commit.gpgsign true
Relacionado: Como assinar seus commits Git com chaves GPG
Configurações principais para melhor desempenho
O Git oferece algumas configurações que podem acelerar operações e economizar espaço em disco.
Defina um nível de compressão mais alto quando o Git transfere ou armazena objetos:
git config --global core.compression 9
Ative o pré-carregamento do índice na memória para verificações de status mais rápidas:
git config --global core.preloadindex true
Evite erros de espaços em branco no final das linhas que podem causar diffs desnecessários:
git config --global core.whitespace trailing-space
Esses pequenos ajustes ajudam o Git a funcionar com mais eficiência, especialmente em projetos grandes.
Configure a saída de diff para melhor legibilidade
Revisar alterações de código é mais fácil quando seus diffs são limpos.
Configure o Git para detectar renomeações e cópias:
git config --global diff.renames copies
Reduza o número de linhas de contexto ao redor nos diffs para uma visualização mais compacta:
git config --global diff.context 5
Melhore ainda mais a legibilidade do seu diff usando diff-so-fancy, que formata os diffs de maneira mais limpa.
Exemplo:
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
Configure melhores logs do Git
Os logs padrão do Git são densos. Torne-os mais úteis com simples ajustes de formatação.
Ative uma visualização em gráfico:
git config --global alias.lg "log --oneline --graph --all --decorate"
Este alias facilita a visualização de branches e merges.
Você também pode definir a saída de log padrão para um formato mais legível ajustando diretamente seu .gitconfig
nas seções [log]
e [color]
, se necessário.
Relacionado: Como criar e usar aliases Git para um fluxo de trabalho mais rápido
Configurações de push e pull para equipes
Trabalhando com outros? Configure o Git para:
- Fazer push apenas do branch atual:
git config --global push.default current
- Configurar automaticamente branches upstream:
git config --global push.autoSetupRemote true
- Fazer pull usando rebase em vez de criar commits de merge extras:
git config --global pull.rebase true
Relacionado: Dicas de configuração de push e pull do Git para melhor colaboração em equipe
Conclusão
Personalizar sua configuração do Git é uma das maneiras mais simples de evitar frustrações e trabalhar com mais eficiência. Definir algumas opções importantes agora economizará inúmeros toques de tecla, conflitos de merge e dores de cabeça no futuro.
Perguntas Frequentes
Sim. Você pode substituir as configurações globais por repositório executando comandos de configuração sem a flag `--global`.
A configuração global do Git geralmente está em `~/.gitconfig`. Você pode editá-la manualmente, se necessário.
Sim. É um arquivo de texto simples. Apenas certifique-se de que a sintaxe esteja correta e faça backup de configurações importantes, se necessário.