git log
Eu uso git log
regularmente para ver os commits anteriores. Todos nós sabemos como o git log
comando é útil . Mas é feio;
commit cd85270b35d625ddebd74c44782b39a5b8286587
Author: Ian Greulich <----@--------.com>
Date: Thu Sep 26 16:47:16 2013 -0400
WR-184085: new image f/medical plan cart
commit 296ec25ecfe26ef6a0f89f28b9390607dd4dd689
Author: Ian Greulich <----@--------.com>
Date: Thu Sep 26 16:04:07 2013 -0400
WR-184085: fixes from QA
commit cd6a0e61b55e564c2af880ca616f2b799e7ac40f
Merge: 7de6ced 3c50403
Author: Tony Malatanos <----@--------.com>
Date: Wed Sep 25 17:51:03 2013 -0400
Merge pull request #4 in UXG/goblin from ~IGREULICH/goblin-fork:develop to develop
Mas há muito que podemos fazer para tornar isso … mais significativo;
Entrar git lg
Aliasing uma fantasia log
em seu ~/.gitconfig
;
[alias]
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
quando você executa git lg
, obtém uma saída muito melhor;
* cd85270 - (HEAD, origin/feature/legacy, origin/WR-184085_fix, feature/legacy, WR-184085_fix) WR-184085: new image f/medical plan cart (17 hours ago) <Ian Greulich>
* 296ec25 - WR-184085: fixes from QA (18 hours ago) <Ian Greulich>
* cd6a0e6 - Merge pull request #4 in UXG/goblin from ~IGREULICH/goblin-fork:develop to develop (2 days ago) <Tony Malatanos>
|\
| * 3c50403 - WR-184085: tweak edit/remove link positions (2 days ago) <Ian Greulich>
| * c63b408 - WR-184085: fix nth-type-of (2 days ago) <Ian Greulich>
| * 6bfd1bd - WR-184085: tweak style to fix inconsistancies (2 days ago) <Ian Greulich>
| * 4fe8f72 - (origin/WR-184085) WR-184085: finish the style changes, added new images (2 days ago) <Ian Greulich>
| * 0ef58e4 - WR-184085: update plan listing page (4 days ago) <Ian Greulich>
| * e1b8a16 - WR-184085: update progress indicator, some of plan comparison page (4 days ago) <Ian Greulich>
| * 876f2c3 - WR-184085: update hope page center content (4 days ago) <Ian Greulich>
| * 308bf10 - WR-184085: update footer (4 days ago) <Ian Greulich>
| * df71560 - WR-184085: add oswald font, update main header text styles (4 days ago) <Ian Greulich>
| * ea45ca0 - WR-184085: update header nav (7 days ago) <Ian Greulich>
Muito mais legal, certo?
--graph
dá a você o gráfico que você vê à esquerda, o * indica o branch para o qual o commit foi feito, mas --format=<blah>
é onde a mágica realmente acontece.
--format
Basicamente, --format
permite que você manipule a saída log
em essencialmente qualquer formato de sua preferência (consulte git log --help
para obter mais detalhes). Eu tenho o seguinte;
%Cred%h%Creset
imprime o sha: abreviado%h
, em vermelho, depois redefine a cor-
imprime um traço%C(yellow)%d%Creset
imprime os nomes das referências:%d
em amarelo, depois redefine a cor%s
imprime o assunto ou submete a mensagem%Cgreen(%cr)
imprime a data de confirmação, relativa:%cr
em verde e parênteses%C(bold blue)<%an>%Creset
imprime o nome do autor:%an
em azul e colchetes, depois redefine a cor
Isso torna a saída de lg
muito mais útil e fácil de ler.