
Com os atalhos no Git, ou alias, nós podemos mapear aqueles enormes comandos que repetidamente usamos durante o dia para algumas poucas teclas. Ou, até mesmo, criar um atalho para um comando com várias flags para que seja mas fácil de lembrar e digitar. Eles podem ser criados de dois modos. Através do comando no terminal:
$ git config --global alias.nome_do_alias "comando inteiro"
Ou editando diretamente o arquivo ~/.gitconfig
$ cd ~
$ nano .gitconfig
Não importa o método que você utilize, suas configurações sempre ficarão salvas no arquivo ~/.gitconfig
. Sabendo o que são atalhos e para que servem, vamos agora ver alguns dos atalhos que julgo serem bastante úteis.
Status
O comando status
do git é, por padrão, um pouco verboso demais para quem já o usa há algum tempo. Não faz sentido vermos essas intruções todas as vezes.
Vamos criar um atalho com uma saída mais simples
$ git config --global alias.st "status -s"
Agora toda vez que digitarmos git st
veremos um status mais simplificado. No exemplo anterior, o nosso status mais simples ficaria assim.
Pretty Log
O log do Git é bastante verboso por padrão.
Mas é também bastante flexível. Usando uma infinidade de flags, podemos fazer o nosso git log
mais compacto, simples e bonito.
$ 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"
O exemplo anterior com o nosso novo alias git lg
fica assim:
No screenshot acima, cada asterisco é um commit. As linhas de diferentes cores são as branches. Quando as linhas se conectam significa que houve um merge. É possível ver também um resumo da mensagem de commit, o autor, a data e a branch. Lindo, hein?
Add all
Mais um atalho simples. Vamos substituir o comando git add .
por git aa
(pense em add all) para versionar todos os arquivos do projeto.
$ git config --global alias.aa "add ."
Who
Para saber de forma rápida o número de commits de cada um no projeto, ordenado de forma decrescente.
$ git config --global alias.who "shortlog -sn"
Esse é o git who
do Loop Infinito.
Undo
Para voltarmos, de forma rápida, o repositório para o exato modo como estava no último commit.
$ git config --global alias.undo "reset --hard HEAD"
Serve
Um dos meus favoritos. Algo digno de bruxaria. Com esse atalho você pode transformar o seu repositório em um servidor Git.
$ git config --global alias.serve "\!git daemon --reuseaddr --verbose --base-path=. --export-all ./.git"
Com o atalho setado, vá na raiz do seu repositório e digite git serve
. Abra outra aba no terminal e agora digite git ls-remote git://127.0.0.1/
e veja que o repositório do seu projeto está sendo servido. Apenas comandos de leitura são permitidos. Então um git fetch
e git clone
estão liberados.
Se quiser compartihar o seu repositório basta verificar o seu endereço IP e passar para alguém em sua rede local.