Mostrar el historial de commits para una rama usando Git Log con rango
-
Historial de commits de Git para rama usando
git log
y opciones de limitación avanzadas -
Git Commit History para Branch usando la sintaxis de doble punto
<branch1>..<branch2>
-
Atajo útil con
git log
para escribir unos pocos caracteres menos para mostrar el historial del commit de Git para la rama -
Opción útil para ver solo las últimas commits con
log
en Git Mostrar commits solo en la rama actual -
Git Commit History para Branch con el operador Caret
^
-
Git Commit History para Branch con la opción
--not
- Recursos
El git log
tiene muchas opciones limitantes para obtener un subconjunto de commits de su historial de repositorio. Demostramos cómo git log
con range
usando la sintaxis de doble punto, el operador de intercalación ^
, la opción --not
y varios accesos directos nos ayudan a ver el historial de git commit
solo para la rama.
Git extrae su poder de este rico sistema de consulta de revisión que permite a los usuarios administrar sus ramas y diseñar flujos de trabajo eficientes con ellos.
Historial de commits de Git para rama usando git log
y opciones de limitación avanzadas
Los repositorios de Git pueden crecer con largos historiales de commits. Ver el historial completo no es muy útil en tales casos.
El comando git log
nos brinda muchas opciones útiles para extraer solo el subconjunto de commits del historial del repositorio que necesitamos.
git log [formatting options] [limiting options]
Las [formatting options]
nos permiten mostrar información diferente sobre nuestras commits, mientras que las [limiting options]
nos ayudan a seleccionar las commits que queremos ver.
Cuando proporcionamos los valores de rango correctos en estas opciones de limitación, podemos realizar commits de git show
en la rama actual.
Git Commit History para Branch usando la sintaxis de doble punto <branch1>..<branch2>
La sintaxis de doble punto muestra las commits a las que podemos llegar desde branch2
pero no desde branch1
.
Supongamos que creamos un nuevo experiment_branch
desde master
. Luego, nos comprometemos con ambas ramas pero no las fusionamos todavía.
Si ahora hacemos un git log
en experiment_branch
, se muestra el historial completo, incluyendo los commits que hicimos en master
incluso antes de crear experiment_branch
.
Este no es un comportamiento muy útil. Un caso de uso común es cuando queremos ver solo las commits no fusionadas en experiment_branch
.
Lo hacemos con el siguiente comando.
git log master..experiment_branch
Se puede acceder a todas las commits desde experiment_branch
pero no desde master
(esencialmente, todas las commits no fusionadas en la rama experimental).
También podríamos invertir el orden de las ramas para el caso inverso para ver el estado del master
en el que vamos a fusionar nuestro experiment_branch
.
Nuestro master
se ve así:
Cuando hacemos:
git log experiment_branch..master
Solo vemos las nuevas commits en master
después de crear nuestra rama experimental.
Atajo útil con git log
para escribir unos pocos caracteres menos para mostrar el historial del commit de Git para la rama
Si no proporcionamos ninguna de las dos ramas en la sintaxis de doble punto, Git las establece por defecto en HEAD
.
Podemos usar esto con una opción inteligente de git checkout
para acortar nuestro comando git log
.
Primero, cambiamos a nuestra rama experimental.
git checkout experiment_branch
Ahora el HEAD
apunta a experiment_branch
.
Ahora usamos la versión abreviada de la sintaxis de rango de doble punto, omitiendo el operando de la rama derecha.
git log master..
Git establece por defecto la rama derecha en el HEAD
actual, nuestro experiment_branch
, y obtenemos el mismo historial de solo las commits no fusionadas que arriba.
Opción útil para ver solo las últimas commits con log
en Git Mostrar commits solo en la rama actual
Nuestro experiment_branch
podría tener una larga historia con muchas commits no fusionadas.
Es posible que queramos ver solo las últimas commits en tal caso.
git log -2 master..
La opción -2
muestra solo las últimas 2 commits de nuestro subconjunto seleccionado del historial.
Git Commit History para Branch con el operador Caret ^
El operador de intercalación ^
excluye todas las commits accesibles desde la rama en la que opera. Podemos usar esto para mostrar solo el historial de nuestra rama actual.
git log ^master experiment_branch
Git Commit History para Branch con la opción --not
También podemos lograr el mismo resultado usando la opción --not
antes del nombre de una rama. Esto excluye todas las commits accesibles desde esa rama.
git log experiment_branch --not master
Vemos que hace lo mismo y solo muestra las commits no fusionadas en nuestro experiment_branch
.
Recursos
- https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
- https://rakhesh.com/coding/git-view-the-commit-log-of-a-remote-branch/
- https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
- https://stackoverflow.com/questions/14889017/how-to-show-local-branch-history#14889649
- https://stackoverflow.com/questions/16974204/how-to-get-commit-history-for-just-one-branch
Artículo relacionado - Git Commit
- Agregar todos los archivos para confirmar excepto un archivo
- Agregar un archivo a la última confirmación en Git
- Cierra el editor de Git Commit en Windows
- Combinar selectivamente los cambios de diferentes ramas en Git
- Comprender la función de aprobación de Git Commit
- Confirmaciones de la lista de Git