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?

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

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

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í


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"

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.