Aliases do Git: atalhos para comandos frequentes
1. Introdução aos Aliases no Git
Aliases no Git são atalhos personalizados que permitem substituir comandos longos e complexos por versões abreviadas e fáceis de lembrar. Em vez de digitar git status toda vez, você pode configurar git st e economizar segundos preciosos a cada iteração. Com o tempo, essa economia se acumula em horas de produtividade.
A principal diferença entre aliases locais e globais está no escopo:
- Aliases locais: configurados com
--local, ficam restritos ao repositório atual (arquivo.git/config). - Aliases globais: configurados com
--global, ficam disponíveis para todos os repositórios do seu usuário (arquivo~/.gitconfig).
A sintaxe básica para criar um alias é:
git config --global alias.<nome> <comando>
Por exemplo:
git config --global alias.s status
Agora, git s executa git status. Simples e poderoso.
2. Aliases Essenciais para o Dia a Dia
Estes aliases formam a base de qualquer fluxo de trabalho produtivo com Git:
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.co checkout
git config --global alias.df diff
Com esses atalhos, comandos comuns ficam muito mais rápidos:
# Em vez de: git status
git st
# Em vez de: git commit -m "mensagem"
git ci -m "mensagem"
# Em vez de: git branch
git br
Para um log visualmente rico, configure o alias lg:
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
Exemplo de uso:
git lg
O resultado mostra um gráfico de commits com cores, hash abreviado, referências, mensagem, data relativa e autor.
3. Aliases para Navegação e Histórico
Gerenciar o staging area e navegar pelo histórico fica mais intuitivo com estes aliases:
git config --global alias.unstage "reset HEAD --"
git config --global alias.last "log -1 HEAD --stat"
git config --global alias.who "shortlog -s --"
git unstage arquivo.txtremove o arquivo da área de staging sem perder as alterações.git lastmostra o último commit com estatísticas de arquivos modificados.git whoexibe uma lista de autores e quantos commits cada um fez.
Exemplo prático:
# Desfazer staging de um arquivo
git unstage index.html
# Ver o último commit em detalhes
git last
# Ver contribuições por autor
git who
4. Aliases para Commits e Revisão
Corrigir e ajustar commits se torna mais seguro com estes atalhos:
git config --global alias.amend "commit --amend --no-edit"
git config --global alias.undo "reset --soft HEAD~1"
git config --global alias.fixup "commit --fixup"
git amendaltera o último commit adicionando mudanças atuais, sem precisar editar a mensagem.git undoreverte o último commit, mas mantém as alterações na área de staging (modo soft).git fixupcria um commit de correção para uso comgit rebase -i --autosquash.
Exemplo:
# Adicionar esquecimento ao último commit
git add arquivo-esquecido.txt
git amend
# Desfazer commit mantendo mudanças
git undo
# Criar commit de correção para o hash abc123
git fixup abc123
5. Aliases para Branches e Merge
Manter branches organizadas é essencial. Estes aliases automatizam a limpeza:
git config --global alias.merged "branch --merged"
git config --global alias.cleanup "branch --merged | grep -v '\*\|master\|main' | xargs -n 1 git branch -d"
git config --global alias.nb "checkout -b"
git mergedlista todas as branches já mescladas na branch atual.git cleanupremove todas as branches locais mescladas (exceto master/main e a atual).git nb nova-branchcria e já muda para a nova branch.
Exemplo prático:
# Ver branches mescladas
git merged
# Limpar branches obsoletas
git cleanup
# Criar e ir para uma nova branch
git nb feature/nova-funcionalidade
6. Aliases para Stash e Trabalho Temporário
Salvar e recuperar trabalhos em andamento fica mais descritivo:
git config --global alias.stsh "stash push -m"
git config --global alias.popl "stash pop"
git config --global alias.stlist "stash list"
git stsh "mensagem descritiva"salva alterações com uma mensagem que explica o contexto.git poplaplica e remove o stash mais recente da pilha.git stlistexibe todos os stashes com detalhes de data, branch e mensagem.
Exemplo:
# Salvar trabalho em andamento
git stsh "WIP: ajustes no formulário de login"
# Recuperar o stash mais recente
git popl
# Listar todos os stashes
git stlist
7. Aliases Avançados e Customizações
Para cenários mais complexos, aliases podem incorporar funções shell:
git config --global alias.force-push "!git push --force-with-lease"
O ! no início indica que o comando será executado pelo shell, permitindo lógica condicional:
git config --global alias.fpush '!f() { echo "ATENÇÃO: Push forçado em $1"; git push --force-with-lease "$@"; }; f'
Aliases com parâmetros também são possíveis usando funções:
git config --global alias.find '!f() { git log --all --grep="$1"; }; f'
git config --global alias.diff-word '!f() { git diff --word-diff "$@"; }; f'
Exemplo de uso:
# Buscar commits que contenham "bugfix" na mensagem
git find bugfix
# Ver diff com destaque palavra por palavra
git diff-word HEAD~1 HEAD
Para compartilhar aliases entre equipes ou máquinas, você pode manter um arquivo .gitconfig separado e incluí-lo no seu arquivo principal:
# No ~/.gitconfig
[include]
path = ~/.git-aliases
Depois, basta distribuir o arquivo .git-aliases com todos os seus aliases definidos no formato:
[alias]
st = status
ci = commit
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
Conclusão
Aliases transformam a experiência com Git, reduzindo digitação repetitiva e aumentando a produtividade. Comece com os essenciais, depois expanda conforme sua rotina exigir. Lembre-se de que aliases são pessoais e devem refletir seu fluxo de trabalho. Experimente, ajuste e compartilhe os que funcionarem melhor para você.
Referências
- Documentação Oficial do Git - Aliases — Seção oficial do livro Pro Git explicando como criar e gerenciar aliases.
- Atlassian Git Tutorial - Aliases — Guia prático da Atlassian com exemplos de aliases úteis para o dia a dia.
- Git Tower - Git Aliases — Tutorial visual sobre criação de aliases, incluindo exemplos avançados com funções shell.
- FreeCodeCamp - How to Create Git Aliases — Artigo detalhado com exemplos de aliases para iniciantes e intermediários.
- Dev.to - 10 Git Aliases for Faster Development — Lista curada de aliases populares com explicações e casos de uso.