No se puede mostrar un árbol de Git en la terminal


Killswitchcollective.com ' s antiguo artículo, 30 Junio 2009 , tiene las siguientes entradas y salidas

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

Estoy interesado en cómo obtener la vista de árbol de confirmaciones en su terminal sin usar Gitk o Gitx en OS / X.

¿Cómo puedes obtener la vista de árbol de las confirmaciones en terminal?

Author: snv, 2009-06-30

5 answers

¿Cómo puede obtener la vista de árbol de las confirmaciones en 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 lo siguiente a su .bashrc:

export LESS="-R"

Tal que no es necesario utilizar el filtro ASCII de Tig por

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

El artículo gráfico basado en texto de Git-ready contiene otras opciones:

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

git log gráfico

Con respecto al artículo que mencionas, me gustaría ir con Respuesta de Pod : salida hecha a mano ad-hoc.


Jakub Narębski menciones en los comentarios tig, una interfaz de modo de texto basada en ncurses para git. Ver sus liberaciones.
En 2007 añadió una opción --graph .

 600
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:33:26

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 lo llames la próxima vez, usarás:

git tree

Para ponerlo en tu ~/.gitconfig sin tener que editarlo, puedes hacer:

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

(Si no usas el global global lo pondrá en el .git / config de tu repositorio actual.)

 252
Author: Marouane Gazanayi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-06 08:44:21
git log --oneline --decorate --all --graph

Un árbol visual con nombres de rama incluidos.

Use esto para agregarlo como un alias

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

Lo llamas con

git tree

Árbol de Git

 100
Author: Sebastian Patten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-05 20:51:40

tig

Si desea un árbol interactivo , puede usar tig. Puede ser instalado por brew en OSX y apt-get en Linux.

brew install tig
tig

Esto es lo que obtienes:

introduzca la descripción de la imagen aquí

 46
Author: Mohsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-16 22:31:04

Mantener tus órdenes cortas las hará más fáciles de recordar:

git log --graph --oneline
 1
Author: JSON C11,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-19 21:38:19