Ver el árbol de la versión completa en git

115

Estoy usando la versión de línea de comandos de Git y gitk. Quiero ver el árbol de la versión completa, no solo la parte a la que se puede acceder desde la versión actualmente extraída. ¿Es posible?

petersohn
fuente

Respuestas:

79

Puedes probar lo siguiente:

gitk --all

Puede decir gitkqué mostrar usando cualquier cosa que git rev-listentienda , por lo que si solo desea algunas ramas, puede hacer:

gitk master origin/master origin/experiment

... o cosas más exóticas como:

gitk --simplify-by-decoration --all
Mark Longair
fuente
292

Si no tiene una interfaz gráfica disponible, también puede imprimir el gráfico de confirmación en la línea de comando:

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

si este comando se queja con una opción no válida, en línea, use:

git log --pretty=oneline --graph --decorate --all
Knittl
fuente
6
¿Quién necesita gitk cuando tenemos gitl? alias gitl = 'git log --oneline --graph --decorate --all'
Thunder Rabbit
10
alias gl='git log --oneline --graph --decorate --all'. Por qué escribir más de lo necesario;)
Dana Woodman
Espero que las abreviaturas de la línea de comandos se hayan inventado antes de completar la pestaña. Solo benefician a quienes usan mucho esos comandos y a quienes tienen recuerdos locos.
aaaaaa
121
  1. Cuando estoy en mi lugar de trabajo solo con terminal, uso:

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

    ingrese la descripción de la imagen aquí

  2. Cuando el sistema operativo es compatible con la GUI, uso:

    gitk --all

    ingrese la descripción de la imagen aquí

  3. Cuando estoy en mi PC con Windows de casa, uso mi propio GitVersionTree

    ingrese la descripción de la imagen aquí

suma de comprobación
fuente
Respuesta perfecta para mi. Mi sistema operativo es compatible con GUI, por lo que la segunda opción es mi camino a seguir, pero digamos que solo quiero echar un vistazo al gráfico desde la línea de comandos muy rápidamente: ¿hay alguna forma de evitar escribir todos esos interruptores de la primera versión, o simplemente vuelve a escribirlos todo el tiempo? Gracias.
Rchrd
1
@rchrd Los establecería como alias ejecutándolos git config --global alias.ver "log --oneline --graph --color --all --decorate"y solo necesito escribir a git verpartir de entonces.
suma de comprobación
23

Hay una muy buena respuesta a la misma pregunta.
Añadiendo las siguientes líneas a "~ / .gitconfig":

[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
Daniil Shevelev
fuente
5

La reputación no es suficiente para comentar la respuesta de knittl, entonces:

Si no necesita el nombre de la rama o la etiqueta:
git log --oneline --graph --all --no-decorate

Si ni siquiera necesita color (para evitar la secuencia de teclas cuando sale):
git log --oneline --graph --all --no-decorate --no-color

Es posible que desee utilizar un alias (en .gitconfig) para facilitar la vida:

[alias]
  tree = log --oneline --graph --all --no-decorate

Solo la última opción tiene efecto, por lo que incluso es posible anular su alias:
git tree --decorate

clarkttfu
fuente