Featured image of post Git Aliases: uma arma secreta para economizar tempo, melhorar o fluxo de trabalho e aumentar a produtividade

Git Aliases: uma arma secreta para economizar tempo, melhorar o fluxo de trabalho e aumentar a produtividade

Economize tempo e seus dedos com esta dica

Introdução Link to this section

Git é uma ferramenta poderosa com muitos comandos e opções personalizáveis. Felizmente, para tornar nossas vidas mais fáceis, podemos criar aliases para simplificar esses comandos.

Neste post, explicarei como os aliases do Git funcionam e mostrarei os aliases que uso atualmente.

Escopos de configuração do Git Link to this section

O Git tem 3 níveis de escopo de configuração. Os aliases são criados na configuração do git, então eles funcionarão no escopo em que foram criados.

NomeEscopoArquivo de configuração
localAplica-se apenas ao repositório atual.Unix:
[repo]/.git/config
Windows:
[repo]\.git\config
globalAplica-se ao usuário atual.Unix:
~/gitconfig
Windows:
%USERPROFILE%\.gitconfig
systemAplica-se a todos os usuários do sistema.Unix:
/etc/gitconfig
Windows:
%PROGRAMDATA%\Git\config

Aliases do Git Link to this section

Aliases do Git são comandos personalizados que podemos criar no Git.

Podemos criar um alias usando o comando git config ou editando o arquivo de configuração do git.

Criando um alias com o comando git config Link to this section

Para criar um alias com o comando git config, usamos a seguinte sintaxe:

git config --[<escopo>] alias.[<nome_do_alias>] "[<comando_git>]"

Por exemplo, para criar um alias c para o comando checkout no escopo global, usamos:

git config --global alias.c "checkout"

Se o comando tiver aspas, podemos usar aspas simples em vez disso. Por exemplo:

git config --global alias.ec "commit --allow-empty -m 'Empty commit'"

Criando um alias no arquivo de configuração do git Link to this section

Podemos criar aliases diretamente no arquivo de configuração do git. Consulte aqui para ver a localização do arquivo para cada escopo de configuração.

Basta adicionar o alias e o comando na seção alias do arquivo. Se a seção não existir, basta criá-la.

1
2
3
4
5
6
7
8
9
[user]
    name = ...
    email = ...

...

[alias]
    c = checkout
    ec = commit --allow-empty -m 'Empty commit'

Aliases complexos Link to this section

O Git nos permite usar comandos shell em seus aliases. Quando iniciamos um alias com !, podemos executar qualquer comando shell, permitindo-nos usar vários comandos com && ou |.

Neste exemplo, defino uma função f() que obtém todos os hashes de commit e os passa para o comando git grep, além de receber um parâmetro de string para pesquisar nos arquivos:

git config --global alias.search "!f() { git rev-list --all | xargs git grep $1; }; f"

⚠️ Observe que precisamos usar o comando git nesses aliases porque estamos passando comandos shell gerais.

Meus aliases Link to this section

Estes são os aliases que uso atualmente diariamente.

AliasComandoComo usar
ccheckoutgit c develop
ffetch --prunegit f
eccommit --allow-empty -m 'Empty commit'git ec
graphlog --graph --onelinegit graph
wpworktree prunegit wp
wa!f() { git worktree prune && git worktree add $1 $2; }; fgit wa ../pasta nome-da-branch
search!f() { git rev-list --all | xargs git grep $1; }; fgit search palavra-chave
mb!f() { git branch --show-current | xargs git merge-base $1; }; fgit mb origin/main
reset-to-base!f() { git mb $1 | xargs git reset; }; fgit reset-to-base origin/main

ℹ️ Alguns desses comandos são explicados neste post e neste post. Leia os posts para mais detalhes.

ℹ️ mb e reset-to-base são explicados neste post.

💬 Like or have something to add? Leave a comment below.
Ko-fi
GitHub Sponsor
Licensed under CC BY-NC-SA 4.0
Criado com Hugo
Tema Stack desenvolvido por Jimmy