Aliases no Git que aceleram o fluxo de trabalho diário
1. Introdução aos Aliases no Git
Aliases no Git são atalhos personalizados que substituem comandos longos e repetitivos por versões curtas e memorizáveis. Em vez de digitar git commit --all --message "correção", você pode usar git ca "correção". A economia de tempo é pequena por comando, mas acumulada ao longo do dia representa horas de produtividade recuperadas.
A configuração é feita diretamente no terminal ou editando o arquivo .gitconfig. O comando básico para criar um alias global é:
git config --global alias.st status
A partir desse momento, git st equivale a git status. Para aliases locais (apenas no repositório atual), remova a flag --global. O arquivo .gitconfig fica em ~/.gitconfig (Linux/macOS) ou C:\Users\SeuNome\.gitconfig (Windows) e pode ser editado manualmente para organizar os aliases em seções.
2. Aliases para Navegação e Status Rápido
Navegar pelo repositório e verificar o estado atual são tarefas constantes. Estes aliases reduzem o tempo gasto com digitação:
git config --global alias.st "status -sb"
git config --global alias.br "branch -a"
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global alias.tree "log --graph --oneline --all --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'"
git config --global alias.df "diff --staged"
git config --global alias.last "log -1 HEAD --stat"
git stmostra status resumido com branch atual e arquivos modificadosgit brlista todas as branches (locais e remotas)git lgexibe um gráfico visual do histórico com coresgit treeversão mais detalhada do log com autor e data relativagit dfdiff dos arquivos em staginggit lastdetalhes completos do último commit
3. Aliases para Commits e Staging Ágeis
Commits frequentes são a base de um bom fluxo Git. Estes aliases eliminam etapas redundantes:
git config --global alias.ci "commit"
git config --global alias.ca "commit -a -m"
git config --global alias.aa "add -A"
git config --global alias.amend "commit --amend --no-edit"
Uso prático:
git aa
git ca "Implementa validação de email no formulário"
git amend # corrige último commit mantendo a mensagem original
git ciatalho simples para commit (útil paragit ci -m "msg")git caadiciona automaticamente todos os arquivos rastreados e faz commit com mensagem inlinegit aaadiciona todos os arquivos (novos, modificados e deletados) ao staginggit amendcorrige o último commit sem abrir editor (ideal para esquecer um arquivo)
4. Aliases para Desfazer e Corrigir Erros
Erros acontecem. Ter aliases para desfazer rapidamente evita pânico e buscas no Google:
git config --global alias.unstage "reset HEAD --"
git config --global alias.undo "reset --soft HEAD~1"
git config --global alias.discard "checkout --"
Exemplos de uso:
git unstage arquivo.txt # remove arquivo da staging area
git undo # desfaz último commit, mantém alterações em working directory
git discard arquivo.txt # descarta alterações não commitadas no arquivo
git unstageé equivalente agit reset HEAD -- arquivogit undoreverte o commit mas preserva as modificações para novo commitgit discardsubstitui o arquivo pela última versão commitada (cuidado: alterações são perdidas)
5. Aliases para Sincronização e Pull Avançado
Manter o repositório sincronizado com o remoto é crucial em trabalho colaborativo:
git config --global alias.up "pull --rebase --autostash"
git config --global alias.pushf "push --force-with-lease"
git config --global alias.sync "!git fetch --prune && git rebase"
git upfaz pull com rebase em vez de merge, mantendo histórico linear.--autostashguarda alterações locais temporariamentegit pushfforça o push com segurança (rejeita se houver commits remotos que você não viu)git syncsincroniza a branch local com o remoto: busca atualizações e aplica rebase
6. Aliases para Gerenciamento de Branches
Trabalhar com branches é mais eficiente com atalhos inteligentes:
git config --global alias.co "checkout"
git config --global alias.cob "checkout -b"
git config --global alias.bd "branch -d"
git config --global alias.prune "remote prune origin"
Fluxo típico:
git cob feature/nova-funcionalidade # cria e muda para nova branch
git bd feature-antiga # deleta branch já mesclada
git prune # limpa referências a branches remotas deletadas
git cocheckout rápido (ex:git co main)git cobcria branch e já faz checkout (ex:git cob hotfix/login)git bddeleta branch local (seguro: só deleta se já mesclada)git pruneremove referências órfãs de branches remotas deletadas
7. Aliases para Log e Inspeção Detalhada
Para análises mais profundas do histórico, estes aliases são indispensáveis:
git config --global alias.logg "log --oneline --graph --decorate --all --author-date-order"
git config --global alias.find "log --oneline --grep"
git config --global alias.blam "blame -w -C -C -C"
git logglog visual com autor e data em ordem cronológicagit find "palavra"busca commits cuja mensagem contém "palavra"git blam arquivo.txtmostra quem modificou cada linha, ignorando espaços em branco e detectando movimentações de código
8. Boas Práticas e Personalização Avançada
Para manter os aliases organizados, edite o .gitconfig diretamente com seções comentadas:
[alias]
# Navegação
st = status -sb
br = branch -a
lg = log --oneline --graph --decorate --all
# Commits
ci = commit
ca = commit -a -m
aa = add -A
# Correção
unstage = reset HEAD --
undo = reset --soft HEAD~1
discard = checkout --
Para aliases complexos que executam múltiplos comandos, use scripts externos. Crie um arquivo ~/bin/git-cleanup:
#!/bin/bash
git branch --merged | grep -v "\*\|main\|master" | xargs -n 1 git branch -d
git remote prune origin
Torne executável (chmod +x ~/bin/git-cleanup) e adicione ao PATH. Depois configure o alias:
git config --global alias.cleanup "!git-cleanup"
Compartilhe aliases com a equipe mantendo um arquivo git-alias.sh no repositório de dotfiles. Cada desenvolvedor pode executar source git-alias.sh para importar todos os atalhos.
Referências
- Documentação oficial do Git - Aliases — Guia completo sobre criação e gerenciamento de aliases no Git
- Atlassian Git Tutorial - Aliases — Tutorial prático com exemplos de aliases para produtividade
- Git SCM - .gitconfig file — Referência completa sobre configuração do arquivo .gitconfig
- GitHub Blog - Useful Git Aliases — Dicas e truques avançados para aliases no Git
- FreeCodeCamp - Git Alias Guide — Guia passo a passo com exemplos de aliases para iniciantes e avançados
- Oh My Zsh Git Aliases — Coleção de aliases populares do ecossistema Oh My Zsh
- Git Tower - Git Aliases — FAQ sobre aliases com exemplos práticos para fluxo de trabalho