Atalhos para o git

Atalhos para o git

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.

Git Status padrão

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.

Git Status padrão

Pretty Log

O log do Git é bastante verboso por padrão.

Git Status 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:

Git Status padrão

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.

Git Status padrão

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.

#29