No se puede mostrar un árbol de Git en la terminal
-
21-08-2019 - |
Pregunta
Antiguo artículo de Killswitchcollective.com, 30 de junio de 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
Me interesa cómo obtener la vista de árbol de confirmaciones en su terminal sin usar Gitk o Gitx en OS/X.
¿Cómo se puede obtener la vista en forma de árbol de las confirmaciones en la terminal?
Solución
¿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 los colores y la 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 rel="noreferrer"> href="http://www.gitready.com/intermediate/2009/01/26/text-based-graph.html" gráfica basada en el texto del artículo contiene otras opciones:
git log --graph --pretty=oneline --abbrev-commit
En cuanto al artículo que mencionas, yo iría con vaina de respuesta :. ad-hoc de salida hecha a mano
Jakub Narębski menciones en los comentarios tig , una interfaz en modo texto basado en ncurses para Git. Ver sus lanzamientos .
Añadió una opción --graph
de nuevo en 2007.
Otros consejos
Una solución es crear un Alias en su .gitconfig
y llámalo fácilmente:
[alias]
tree = log --graph --decorate --pretty=oneline --abbrev-commit
Y la próxima vez que lo llames, 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 usa --global, lo colocará en .git/config de su repositorio actual).
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
tig
Si quieres un interactivo árbol, puede utilizar brew
. Puede ser instalado por apt-get
en OSX y <=> en Linux.
brew install tig
tig
Esto es lo que se obtiene:
Mantener sus órdenes cortas hará que sean más fáciles de recordar:
git log --graph --oneline
Yo sugeriría que cualquiera pueda escribir el comando completo
git log --all --decorate --oneline --graph
en lugar de crear un alias.
Es bueno para obtener los comandos en la cabeza, por lo que sé de memoria es decir, no dependen de alias cuando se cambia máquinas.