Pergunta

old artigo

de Killswitchcollective.com, 30 de junho de 2009 , tem as seguintes entradas e saídas

git co master
git merge [your_branch]
git push

upstream    A-B-C-D-E            A-B-C-D-E-F-G
                 \        ---->               \
your branch       C-D-E                        G

Estou interessado como você obter a árvore como a visão de commits em seu terminal sem usar gitk ou gitx no OS / X.

Como você pode obter o ponto de vista de árvore de commits no terminal?

Foi útil?

Solução

Como você pode obter o ponto de vista de árvore de commits no terminal?

git log --graph --oneline --all

é um bom começo.

Você pode obter algumas cartas estranhas. Eles são códigos ASCII para cores e estrutura. Para resolver este problema, adicione o seguinte ao seu .bashrc:

export LESS="-R"

de tal forma que você não precisa usar filtro ASCII de Tig por

git log --graph --pretty=oneline --abbrev-commit | tig   // Masi needed this 

O artigo href="http://www.gitready.com/intermediate/2009/01/26/text-based-graph.html" gráfico baseado em texto de Git-pronto contém outras opções:

git log --graph --pretty=oneline --abbrev-commit

gráfico git log

Em relação ao artigo que você mencionou, eu iria com o Pod resposta :. ad-hoc saída feitos à mão


Jakub Narebski menciona nos comentários tig , uma interface de modo texto baseado em ncurses para git. Consulte seus lançamentos .
Acrescentou um --graph opção em 2007.

Outras dicas

A solução é criar um alias em sua .gitconfig e chamá-lo facilmente:

[alias]
    tree = log --graph --decorate --pretty=oneline --abbrev-commit

E quando você chamá-lo da próxima vez, você vai usar:

git tree

Para colocá-lo em seu ~ / .gitconfig sem ter para editá-lo, você pode fazer:

git config --global alias.tree "log --graph --decorate --pretty=oneline --abbrev-commit"  

(Se você não usar o --global ele vai colocá-lo no .git / config do seu repo atual.)

git log --oneline --decorate --all --graph

A árvore visual com nomes do ramo incluído.

Use isto para adicioná-lo como um alias

git config --global alias.tree "log --oneline --decorate --all --graph"

Você chamá-lo com

git tree

Git Tree

tig

Se você quer uma interativa árvore, você pode usar tig . Ele pode ser instalado por brew no OSX e apt-get em Linux.

brew install tig
tig

Isto é o que você obtém:

enter descrição da imagem aqui

Manter seus comandos curto irá torná-los mais fáceis de lembrar:

git log --graph --oneline

gostaria de sugerir alguém para escrever o comando completo

git log --all --decorate --oneline --graph

em vez de criar um alias.

É bom para obter os comandos em sua cabeça, para que você saiba de cor ou seja, não dependem de aliases quando você muda máquinas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top