2009-06-30 8 views
294

Killswitchcollective.com's old article, 30 June 2009, tiene las siguientes entradas y salidasNo es posible mostrar un árbol de Git en el terminal

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 

Me interesa cómo se obtiene el árbol como la visión de confirmaciones en su terminal sin necesidad de utilizar gitk o Gitx en OS/X.

¿Cómo se puede obtener la vista en forma de árbol de confirmaciones en la terminal?

+0

No es importante a la pregunta, pero el artículo en la pregunta ya no está disponible. Una copia en caché está disponible a través del Archivo de Internet: https://web.archive.org/web/20110831142839/http://killswitchcollective.com/articles/36_git_it_got_it_good –

Respuesta

520

¿Cómo se puede obtener la vista en forma de árbol de confirmaciones en la terminal?

git log --graph --oneline --all 

es un buen comienzo.

Usted puede obtener algunas cartas extrañas. Son códigos ASCII para colores y estructura. Para resolver este problema, agregue el siguiente a su .bashrc:

export LESS="-R" 

de tal manera que no es necesario el uso de filtro ASCII de Tig por

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

El artículo text-based graph from Git-ready contiene otras opciones:

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

git log graph

Con respecto el artículo que menciona, yo iría con Pod's answer: producción hecha a mano ad-hoc.


Jakub Narębski menciones en los comentarios tig, una interfaz en modo texto basado en ncurses para Git. Ver their releases.
Se añade a --graph option en 2007.

+1

Su segundo comando me da http://files.getdropbox.com /u/175564/gitTree.png –

+1

Acabo de probarlo en mi repositorio. Funciona pero estoy en Windows con MSysGit1.6.3. – VonC

+0

files.getdropbox.com está bloqueado aquí en el trabajo :(Veré tu foto en aproximadamente una hora, hora de llegar a casa. – VonC

228

Una solución es crear un alias en su .gitconfig y llamarlo fácilmente:

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

Y cuando se llama a la próxima vez, vamos a usar:

git tree 

para ponerlo en su ~/.gitconfig sin tener que modificarlo, puede hacerlo:

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

(Si no utiliza el --global que se puso en el .git/config de tu repositorio actual.)

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

Un árbol visual con los nombres de las sucursales incluido.

Utilice esta opción para agregarlo como un alias

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

Usted lo llama con

git tree 

Git Tree

40

tig

Si quieres un árbol interactivo , se poder use tig. Se puede instalar por brew en OSX y apt-get en Linux.

brew install tig 
tig 

Esto es lo que se obtiene:

enter image description here

+0

¿Puede obtener un árbol como en la respuesta de VonC por Tig actualmente? Usamos Tig en la respuesta de VonC solo como filtro Ascii. –

0

Mantener sus órdenes cortas hará que sean más fáciles de recordar:

git log --graph --oneline 
Cuestiones relacionadas