Git é uma ferramenta muito poderosa e às vezes pode ser um pouco assustador. Não importa há quanto tempo você o usa, você se encontrará procurando por “como fazer X”.

Hoje quero falar sobre apelidos. Aliases são comandos curtos e personalizados que se traduzem em outros comandos. Além de salvar pressionamentos de tecla, apelidos ajudam a evitar memorizar opções de comando ou vasculhar o histórico do shell para encontrar o comando que você precisa.

Existem 2 tipos de aliases: Git aliases e aliases de shell, controlados por bash, zsh, etc. Vamos começar com os aliases do Git.

Como criar aliases Git

Os aliases do Git podem ser armazenados globalmente ou em repositórios individuais. A menos que você tenha um motivo muito específico para manter um alias com escopo para um projeto, eu recomendaria editar o arquivo de configuração global, que está localizado em ~/.gitconfig.

Os apelidos residem na seção [alias]. Eles estão disponíveis em seu terminal como opções Git da mesma maneira add, commit e outras opções funcionam. Vamos ver como adicionar um alias, passo a passo:

Primeiro, abra seu arquivo de configuração Git. No meu caso, usarei o Código VS:

code ~/.gitconfig

A seguir, vamos adicionar nosso primeiro alias Git:

[alias]	graph = log --oneline --graph --decorate

Depois de salvar o arquivo, vá para um projeto Git existente e execute git graph. O resultado é semelhante à imagem abaixo:

exemplo de gráfico git no repositório CSS do Tailwind

Em vez de digitar git log --oneline --graph --decorate e lembrando-se de todas as três bandeiras, agora você pode usar git graph e obter o mesmo resultado.

Meus aliases favoritos do Git

Aqui estão alguns aliases que tenho usado muito recentemente:

[alias]	graph = log --oneline --graph --decorate	ls = log --pretty=format:"%C(yellow)%h%Cred%d\ %Creset%s%Cblue\ [%cn]" --decorate	ll = log --pretty=format:"%C(yellow)%h%Cred%d\ %Creset%s%Cblue\ [%cn]" --decorate --numstat	lds = log --pretty=format:"%C(yellow)%h\ %ad%Cred%d\ %Creset%s%Cblue\ [%cn]" --decorate --date=short	conflicts = diff --name-only --diff-filter=U	local-branches = !git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'	recent-branches = !git branch --sort=-committerdate | head	authors = !git log --format="%aN <%aE>" | grep -v 'users.noreply.github.com' | sort -u --ignore-case

graph, ls, ll e lds são úteis para visualização do histórico. eu uso git ll muito, pois me dá o commit, os arquivos alterados e quantas linhas foram modificadas, conforme mostrado abaixo:

git ll exemplo no repositório CSS do Tailwind

conflicts retorna uma lista de conflitos que você pode simplesmente copiar e colar em seu editor.

local-branches retorna uma lista de branches disponíveis localmente e não na origem (GitHub por exemplo). Isso pode ser útil se, por exemplo, você precisar verificar se sua equipe tem acesso às suas filiais.

recent-branches é provavelmente o que eu mais uso nesta lista. Se você está trabalhando em recursos diferentes ao mesmo tempo e pulando de um ramo para outro, isso é obrigatório.

authors é útil para trabalho de código aberto. Você pode correr git authors > AUTHORS.txt e veja uma lista de pessoas que trabalharam no repositório.

Aliases de shell com o plugin Oh My Zsh Git

A lista acima é bem pequena, você pode pensar. E é verdade. Isso ocorre porque eu também uso os aliases criados pelo Plugin Oh My Zsh Git.

Oh My Zsh é uma estrutura para gerenciar sua configuração zsh. Com essa ferramenta, você pode personalizar o prompt do shell, usar diferentes temas e adicionar plug-ins que oferecem aliases para aumentar sua produtividade.

Os aliases de shell são criados de uma maneira ligeiramente diferente. Eles vivem dentro dos arquivos de configuração do shell (geralmente ~/.bashrc ou ~/.zshrc, se você usar Bash e Zsh respectivamente).

Aqui está um exemplo criado pelo plugin:

alias gst="git status"

Se você não usa o Oh My Zsh, você ainda pode copiar a linha acima e colá-la no final do ~/.bashrc ou ~/.zshrc arquivos – o alias do shell funcionará bem.

Em vez de configurar um alias Git st para status, Eu uso o alias do shell gst o que me dá o mesmo resultado.

Prefiro aliases de shell a aliases de Git por 2 motivos:

  1. Os aliases de shell não precisam ser prefixados pelo comando git.
  2. Não preciso manter uma lista de aliases, pois posso apenas descobrir os mantidos pela comunidade Oh My Zsh.

Protip: Se você estiver usando o shell padrão sem nenhuma personalização, recomendo verificar o Oh meu zsh projeto e Wes BosUsuário avançado de linha de comando.

Conclusão

Aliases são atalhos que você pode criar ou usar para aumentar sua produtividade. Hoje mostrei duas maneiras de usá-los no Git.

Espero que este post inspire você a repensar como você usa o terminal. Que tal começar a criar seus próprios aliases?

Você pode ler mais artigos como este em meu blog. Se você gosta deste conteúdo, pode me seguir no Twitter e GitHub.

Foto da capa por Yancy Min / Unsplash