Saltar al contenido
GitTree

guías de git

Visualizador y visor de árbol de Git: cómo ver tu historial de Git como un gráfico

Tres formas de ver su historial de Git como un árbol: el gráfico de registro de git en su terminal, gitk y un gráfico de confirmación de GUI en el que se puede hacer clic. Luego aprenda a leer carriles y fusiones y encuentre la confirmación que necesita.

Escrito por KodmoraActualizado 13 minutos de lectura
GitTree gráfico de confirmación con carriles secundarios codificados por colores, etiquetas de ramas y etiquetas, la barra lateral de referencia y el panel de detalles de confirmación

Un visualizador de árbol Git dibuja tu historial de confirmaciones como un gráfico: cada punto es una confirmación, cada línea coloreada es una rama y dos líneas que se encuentran en un punto son una fusión. Git en sí viene con dos: ejecutar git log --graph --oneline --all --decorate en cualquier terminal o abrir gitk --all. Cuando desee un historial en el que pueda hacer clic, filtrar y buscar, utilice un gráfico de confirmación de GUI como GitTree, un cliente Git de escritorio para macOS, Windows y Linux.

Esta guía recorre los tres y luego muestra cómo leer carriles y fusionar confirmaciones y cómo encontrar una confirmación entre miles. Una breve divulgación: el creador de GitTree lo escribió. Las secciones de línea de comandos y gitk no necesitan nada más que Git.

Gráfico de registro de Git: la vista de árbol ya integrada en Git

La vista de árbol de Git más rápida es un comando. Funciona en cualquier repositorio, a través de SSH y en todos los sistemas en los que se ejecuta Git:

git log --graph --oneline --all --decorate
  • --graph dibuja un gráfico de texto de ramas y se fusiona a la izquierda de cada confirmación. También ordena las confirmaciones para que ningún padre aparezca antes que sus hijos.
  • --oneline imprime una línea por confirmación: el hash corto y la primera línea del mensaje.
  • --all muestra cada rama, rama remota y etiqueta más HEAD, no solo la rama en la que te encuentras. Sin él, las ramas que no están fusionadas con su rama actual permanecen ocultas.
  • --decorate imprime los nombres de las ramas y etiquetas junto a las confirmaciones a las que apuntan. Git ya hace esto cuando la salida va a una terminal, por lo que la bandera importa principalmente cuando canalizas la salida o has cambiado log.decorate.

La salida se ve así. La confirmación más reciente está en la parte superior, * marca una confirmación y los caracteres |, \ y / son las líneas secundarias:

*   a1b2c3d (HEAD -> main) Merge branch 'feature/search'
|\
| * 9f8e7d6 (feature/search) Highlight matched terms
| * 5c4b3a2 Add search index
* | 1a2b3c4 Fix typo in README
|/
* 0f9e8d7 (tag: v1.0.0) Release 1.0.0

Léalo de abajo hacia arriba: se lanzó v1.0.0, luego se ejecutaron dos líneas de trabajo una al lado de la otra (una corrección README en main, una función de búsqueda en su propia rama) y la combinación en la parte superior las unió nuevamente.

Guárdalo como un alias corto

Nadie quiere escribir cuatro banderas cada vez. Un alias de Git convierte todo el comando en git tree:

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

Cuatro variaciones que vale la pena conocer

git log --graph --oneline --first-parent main
git log --graph --oneline --all --simplify-by-decoration
git log --graph --oneline main..feature/search
git log --graph --pretty=format:"%h %an %ar %s"
  1. --first-parent sigue solo el primer padre de cada combinación, por lo que main se lee como una lista directa de lo que aparece en él, una combinación por característica.
  2. --simplify-by-decoration mantiene solo las confirmaciones a las que apunta una rama o etiqueta: un esquema de su árbol de ramas de Git sin las confirmaciones intermedias.
  3. main..feature/search muestra las confirmaciones en feature/search que aún no están en main, que es lo que generaría una fusión.
  4. --pretty=format agrega el autor y una fecha relativa ("hace 3 días") a cada línea.

gitk: el visor de historial de Git que viene con Git

gitk es el navegador de repositorio gráfico propio de Git, escrito en Tcl/Tk. Dibuja el gráfico de confirmación, muestra los detalles de cada confirmación y enumera los archivos en cada revisión. Inícielo desde dentro de un repositorio:

gitk --all

gitk acepta los mismos límites que git log, por lo que puedes limitarlos a un rango de tiempo o una carpeta. Esto abre solo las últimas dos semanas de cambios en src/:

gitk --since="2 weeks ago" -- src/

Si su shell responde gitk: command not found, su instalación de Git lo omitió. En Debian y Ubuntu, gitk es un paquete independiente:

sudo apt install gitk

gitk está diseñado para leer el historial. Tiene algunas acciones de confirmación en su menú contextual, pero realizar confirmaciones pertenece a su herramienta hermana, git gui, que según su propia documentación no muestra el historial del proyecto. Para el trabajo diario, terminas cambiando entre las dos ventanas y la terminal.

Un gráfico de confirmación de GUI: una vista de árbol de Git en la que puede hacer clic

Un cliente Git de escritorio dibuja el mismo árbol, pero cada fila está activa. Seleccione una confirmación para ver su mensaje, padres y archivos modificados. Haga clic derecho para crear una rama, seleccionarla o revertirla. Haga doble clic en la etiqueta de una rama para comprobarla o arrastre una rama sobre otra para fusionarla o cambiar su base. En GitTree, el gráfico de confirmación es la ventana principal en lugar de un visor independiente.

Gráfico de confirmación de GitTree: cada rama tiene su propio carril de color, las etiquetas de rama y etiqueta se encuentran a la izquierda y los detalles y archivos de la confirmación seleccionada están a la derecha.
Gráfico de confirmación de GitTree: cada rama tiene su propio carril de color, las etiquetas de rama y etiqueta se encuentran a la izquierda y los detalles y archivos de la confirmación seleccionada están a la derecha.

Esto es lo que GitTree dibuja en el gráfico, más allá de puntos y líneas:

  • Carriles codificados por colores para cada sucursal, con etiquetas locales, remotas y de etiquetas en las confirmaciones a las que apuntan.
  • Una fila // WIP encima de la confirmación más reciente para los cambios que aún no has confirmado y cada alijo dibujado en el gráfico en la confirmación desde la que se realizó.
  • Cree avatares e insignias de firma en confirmaciones firmadas.
  • Extraiga chips de solicitud y verificación de CI en las sugerencias de las sucursales una vez que se conecte a GitHub, GitLab, Bitbucket o Azure DevOps.
  • Desplazamiento fluido más allá de 100 000 confirmaciones (medidas en Linux), por lo que los historiales grandes siguen siendo utilizables.

GitTree ejecuta Git ya instalado en su computadora (versión 2.39 o posterior), por lo que cada botón hace lo que haría el comando correspondiente. Si todavía está decidiendo entre los dos estilos, nuestra comparación de usar una GUI de Git frente a la línea de comandos cubre las ventajas y desventajas.

Cómo leer un gráfico de confirmación de Git: carriles, bifurcaciones y fusiones

Ya sea que el gráfico sea ASCII en una terminal o coloreado en una ventana, se aplican las mismas reglas:

Leer un gráfico de confirmación de Git
lo que veslo que significa
Un punto (* en la terminal)Un compromiso. Las confirmaciones más nuevas están por encima de las más antiguas.
Una línea vertical o carrilUna línea de desarrollo: commits que se suceden en una rama.
Una línea que se divideAlguien inició una rama a partir de ese compromiso y el trabajo continuó en dos lugares.
Dos líneas que se encuentran en un puntoUna confirmación de fusión. Tiene dos padres, uno de cada línea.
Una etiqueta como main, origin/main o v1.0.0Una sucursal local, una sucursal remota o una etiqueta que apunte a esa confirmación. HEAD -> marca lo que has retirado.
Una línea recta, sin bifurcacionesHistorial lineal, generalmente a partir de fusiones de avance rápido o cambios de base antes de la fusión.

Leer confirmaciones de fusión

Una confirmación de fusión tiene dos padres. El primer padre es la rama en la que estaba cuando se fusionó, normalmente main. La segunda es la rama en la que fusionaste. Es por eso que --first-parent ofrece un resumen tan claro de main: omite el interior de cada rama de características. En GitTree, seleccione una combinación y el panel de detalles enumera ambos hashes principales.

Una confirmación de fusión seleccionada en el tema claro de GitTree: el panel de detalles muestra tanto los padres como los archivos que cambió la fusión.
Una confirmación de fusión seleccionada en el tema claro de GitTree: el panel de detalles muestra tanto los padres como los archivos que cambió la fusión.

Cuando los carriles se cruzan y la imagen se llena

Las ramas longevas que se fusionan hacia adelante y hacia atrás hacen que los carriles se crucen. Nada está roto; simplemente hay más en pantalla de lo que necesitas. Córtelo hasta las ramas que le interesen. En la terminal, asígnales un nombre en lugar de usar --all, por ejemplo git log --graph --oneline main feature/search. En GitTree, haga clic con el botón derecho en la etiqueta de una rama y elija Ocultar en gráfico, Solo en gráfico para mostrar solo esa rama o Fijar a la izquierda para mantener su carril en la primera columna.

Buscar en el historial de Git: encuentre una confirmación entre miles

Ver el árbol es la mitad del trabajo. La otra mitad es encontrar la confirmación que cambió lo que está depurando.

Buscar desde la línea de comando

git log --oneline --author="Jane"
git log --oneline --since="2 weeks ago" -- src/
git log --oneline -S"parse_header"
git log --oneline -G"fn [a-z_]+_header"
  • --author mantiene las confirmaciones cuyo nombre de autor o correo electrónico coincida con el patrón.
  • --since y --until limitan por fecha, y -- src/ mantiene solo las confirmaciones que tocaron esa ruta.
  • -S, el "pico", busca confirmaciones que agregaron o eliminaron una cadena. Es la forma más rápida de saber cuándo apareció o desapareció una función.
  • -G busca confirmaciones cuyas líneas agregadas o eliminadas coincidan con una expresión regular. Cíñete a las expresiones entre corchetes POSIX como [a-z_] o [[:alnum:]]: los atajos como \w no funcionan con todas las compilaciones de Git.

Busca en GitTree con autor:, archivo: y cambia:

La búsqueda sobre el gráfico (Historial cargado de búsqueda) coincide con un mensaje, autor, hash, rama o etiqueta. Para una búsqueda más profunda, abra la paleta de comandos con Ctrl+Shift+P (⌘+Shift+P en un Mac), escriba # y luego su consulta. Las palabras sin prefijo buscan mensajes confirmados y estos prefijos limitan el resultado:

  • author:jane o author:"Jane Doe": el nombre o correo electrónico del autor contiene ese texto.
  • file:src/main.rs: la confirmación toca ese camino. Repítelo para hacer coincidir varios caminos.
  • change:parse_header: la confirmación agrega o elimina esa cadena, como git log -S.
  • change:/fn [a-z_]+_header/: una línea modificada coincide con la expresión regular, como git log -G.

Combínelos en una consulta: #fix crash author:jane file:src/ encuentra las confirmaciones de Jane que mencionan "reparar falla" y toca src/. Para reducir el gráfico en lugar de enumerar los resultados, utilice Filtrar gráfico... para mantener solo un autor, un rango de fechas o una ruta.

La paleta de comandos GitTree: escriba # para buscar confirmaciones, @ para ramas y etiquetas, o : para archivos.
La paleta de comandos GitTree: escriba # para buscar confirmaciones, @ para ramas y etiquetas, o : para archivos.

Vea su árbol Git en GitTree

  1. Instalar GitTree

    Descarga GitTree para macOS, Windows o Linux e instálalo. Asegúrese de que esté instalado Git 2.39 o una versión más reciente (en Windows, eso significa Git for Windows); Ubuntu 22.04 incluye un Git más antiguo, así que actualiza Git en Ubuntu primero.

  2. Inicia sesión y comienza

    Cuando se abra GitTree, inicie sesión con una cuenta GitTree, creada en gittree.app con su correo electrónico o un proveedor de Git: el gráfico y todas las demás funciones de Git estarán entonces en el plan gratuito. Las integraciones de hosting (GitHub, GitLab, Bitbucket y Azure DevOps, controles remotos privados incluidos) y Nour, el asistente de IA, vienen con GitTree Pro, que comienza con una prueba gratuita; el plan gratuito continúa después.

  3. Abrir o clonar un repositorio

    En la página de inicio, elija Abrir y elija una carpeta que contenga un repositorio Git, o elija Clonar para copiar uno desde una URL a través de HTTPS o SSH.

  4. Leer el gráfico

    El gráfico de confirmación llena la ventana principal: las confirmaciones más recientes en la parte superior, un carril de color por rama, etiquetas para ramas y etiquetas. Haga clic en cualquier confirmación para ver su mensaje, padres y archivos modificados.

  5. Enfoque y búsqueda

    Haga clic con el botón derecho en la etiqueta de una rama para ocultarla, colocarla individualmente o fijarla, use Filtrar gráfico... para un autor, un rango de fechas o una ruta, y escriba # en la paleta de comandos para buscar con author:, file: o change:.

¿Qué visualizador de árbol Git deberías usar?

Tres formas de visualizar la historia de Git
OpciónLo mejor paralo que necesitas
git log --graphVistas rápidas, sesiones SSH, scripts y registros de CIsolo git
gitkUn gráfico en el que se puede hacer clic desde la propia suite GitGit (en Debian y Ubuntu, el paquete gitk separado)
GitTreeLeer, buscar y cambiar el historial en una sola ventanaGitTree (plan gratuito para todas las funciones de Git, con una cuenta GitTree; Nour con Pro) y Git 2.39 o más reciente

La mayoría de los desarrolladores terminan usando más de uno: la terminal para un vistazo rápido, una GUI para explorar el historial y para realizar ediciones que sean más fáciles de ver, como una rebase interactiva en una GUI. Si es nuevo en ramas y confirmaciones, comience con nuestra Guía de Git para principiantes, luego practique la lectura del historial en la lección gratuita Leer confirmaciones, HEAD y rangos de revisión y aprenda qué es un HEAD separado en Mantener el trabajo separado. Si desea comparar aplicaciones de escritorio, consulte nuestro resumen de los mejores clientes GUI de Git.

GitTree tiene un plan gratuito que cubre todas las funciones de Git, incluidos los repositorios privados, y Nour, el asistente de IA, viene con GitTree Pro. Vea todo lo que el gráfico de confirmación y el resto de la aplicación pueden hacer, o lea las notas de instalación de Mac, Windows y Linux.

Preguntas frecuentes

¿Qué es un visualizador de árbol Git?

Un visualizador de árbol Git es una herramienta que dibuja el historial de confirmaciones de un repositorio como un gráfico en lugar de una lista plana. Cada confirmación es un punto, cada rama es una línea y las fusiones aparecen donde se unen las líneas. Git incluye dos: el comando git log --graph para la terminal y la ventana de gitk. Los clientes de escritorio Git como GitTree agregan un gráfico en el que se puede hacer clic y en el que se pueden realizar búsquedas.

¿Cómo veo el árbol de ramas de Git en la terminal?

Ejecute git log --graph --oneline --all --decorate dentro del repositorio. --graph dibuja las líneas de las ramas, --oneline mantiene cada confirmación en una línea, --all incluye cada rama y etiqueta en lugar de solo la rama actual, y --decorate imprime los nombres de las ramas y las etiquetas. Guárdelo como alias con git config --global alias.tree "log --graph --oneline --all --decorate" y de ahí en adelante escriba git tree.

¿Por qué git log no muestra todas mis ramas?

De forma predeterminada, git log enumera solo las confirmaciones a las que se puede acceder desde HEAD, la confirmación que has verificado. Las sucursales que no están fusionadas con su sucursal actual quedan fuera. Agregue --all para incluir cada sucursal local, sucursal remota y etiqueta, o asigne un nombre a las sucursales que desee, por ejemplo git log --graph main feature/search.

¿Gitk está instalado con Git?

gitk es parte de la suite Git, por lo que muchas instalaciones lo incluyen. Algunas distribuciones Linux lo empaquetan por separado: en Debian y Ubuntu, instálelo con sudo apt install gitk. Inícielo desde dentro de un repositorio con gitk --all para ver cada rama. Acepta los mismos límites de fecha y ruta que git log, como --since o -- src/.

¿Cómo encuentro la confirmación que agregó una línea de código específica?

Utilice la búsqueda de pico. git log -S"text" enumera las confirmaciones que cambiaron la cantidad de veces que aparece esa cadena exacta, lo que muestra cuándo se agregó y eliminó. git log -G"regex" compara líneas agregadas o eliminadas con una expresión regular. En GitTree, abra la paleta de comandos, escriba # y use change:text o change:/regex/ para las mismas búsquedas.

¿GitTree es gratuito y en qué sistemas se ejecuta?

GitTree tiene un plan gratuito que cubre todas las funciones de Git, para individuos y organizaciones, repositorios privados y uso comercial incluidos, sin límite de tiempo y sin tarjeta de crédito. Nour, el asistente de IA, viene con GitTree Pro; la página de precios compara los dos planes. Se ejecuta en macOS 13 o posterior, Windows 10 y 11 de 64 bits y Linux de 64 bits (Ubuntu 22.04 o posterior, Debian 12 o posterior). Le pide que inicie sesión con una cuenta GitTree y utiliza Git ya instalado en su computadora, versión 2.39 o posterior; GitTree Se requiere Pro para integraciones de hosting.

¿Puede un visor de gráficos Git manejar repositorios muy grandes?

El gráfico terminal admite cualquier tamaño, pero resulta difícil de leer con muchas ramas; limítelo con nombres de sucursales, --since o una ruta. El gráfico de confirmaciones de GitTree se desplaza suavemente más allá de 100 000 confirmaciones en mediciones en Linux, y puedes ocultar, bloquear o anclar ramas y filtrar por autor, fecha o ruta para mantener legible un historial grande.

Fuentes

Las afirmaciones sobre otros productos se compararon con sus páginas oficiales el 22 de octubre de 2026. Los precios y las características cambian; Las páginas de los proveedores son la fuente de la verdad.