Mais
Visualizando a topologia do ramo em git
I'estou brincando com o git em isolamento na minha própria máquina, e eu acho difícil manter um modelo mental de todos os meus ramos e compromissos. Eu sei que posso fazer um git log
para ver o histórico de commits de onde estou, mas existe uma maneira de ver toda a topografia dos ramos, algo como esses mapas ascii que parecem ser usados em todos os lugares para explicar os ramos?
.-A---M---N---O---P
/ / / / /
I B C D E
\ / / / /
`-------------'
Parece que alguém vindo junto e tentando pegar meu repositório teria dificuldade em entender exatamente o que estava acontecendo.
Acho que I'm influenciado pelo AccuRev's navegador de streaming...
830
3
git log --graph
ougitk
. (Ambos também aceitam `--tudo', que mostrará todos os ramos em vez de apenas o atual).Editar: Para nomes de ramos e uma vista compacta, tente:
git log --graph --decorate --oneline
Eu costumo usar
Com cores (se a sua concha for Bash):
Isto irá imprimir uma representação baseada em texto como esta:
(Você poderia apenas usar
git log --format=oneline
, mas isso ligará mensagens de commit a números, o que parece menos bonito IMHO).Para fazer um atalho para este comando, você pode querer editar seu arquivo
~/.gitconfig
:Entretanto, como Sodel the Vociferous observa nos comentários, é difícil memorizar um comando de formatação tão longo. Normalmente, it'não é um problema, pois você pode colocá-lo no arquivo
~/.gitconfig
. Entretanto, se você às vezes tem que entrar em uma máquina remota onde você pode't modificar o arquivo de configuração, você poderia usar uma versão mais simples, mas mais rápida para digitar:Eu gosto, com
git log
, de fazer:(também com -- tudo, para ver as filiais remotas também)
Funciona com lançamentos recentes da Git: introduzido desde **1.6.3*** (Qui, 7 de Maio de 2009)
Você também pode limitar o alcance da exibição do log (número de commits):
(mostrar apenas os últimos 5 commits)
O que eu não gosto na actual solução seleccionada é:
Ele exibia muita informação (quando eu quero apenas olhar para um resumo rápido):
O
gitk
é ótimo, mas me obriga a deixar a sessão de shell para outra janela, enquanto que exibir os últimos n commits rapidamente é o suficiente.