Buscar..


Sintaxis

  • git log [opciones] [rango de revisión] [[-] ruta ...]

Parámetros

Parámetro Explicación
-q, --quiet Silencio, suprime salida dif.
--fuente Muestra fuente de confirmación.
- use-mailmap Usar archivo de mapa de correo (cambia la información del usuario para comprometer al usuario)
--decorar [= ...] Decora las opciones
--L <n, m: archivo> Mostrar registro para un rango específico de líneas en un archivo, contando desde 1. Inicia desde la línea n, va a la línea m. También muestra diff.
- mostrar firma Mostrar firmas de confirmaciones firmadas
-i, --regexp-ignore-case Empareja los patrones limitadores de expresiones regulares sin tener en cuenta el caso de las letras

Observaciones

Referencias y documentación actualizada: documentación oficial de git-log

Registro de Git "regular"

git log

mostrará todos sus compromisos con el autor y hash. Esto se mostrará en varias líneas por confirmación. (Si desea mostrar una sola línea por confirmación, mire en línea ). Use la tecla q para salir del registro.

De forma predeterminada, sin argumentos, git log enumera las confirmaciones realizadas en ese repositorio en orden cronológico inverso, es decir, las confirmaciones más recientes aparecen primero. Como puede ver, este comando enumera cada confirmación con su suma de comprobación SHA-1, el nombre del autor y el correo electrónico, la fecha escrita y el mensaje de confirmación. - fuente

Ejemplo (del repositorio de Free Code Camp ):

commit 87ef97f59e2a2f4dc425982f76f14a57d0900bcf
Merge: e50ff0d eb8b729
Author: Brian <[email protected]>
Date:   Thu Mar 24 15:52:07 2016 -0700

    Merge pull request #7724 from BKinahan/fix/where-art-thou
    
    Fix 'its' typo in Where Art Thou description

commit eb8b7298d516ea20a4aadb9797c7b6fd5af27ea5
Author: BKinahan <[email protected]>
Date:   Thu Mar 24 21:11:36 2016 +0000

    Fix 'its' typo in Where Art Thou description

commit e50ff0d249705f41f55cd435f317dcfd02590ee7
Merge: 6b01875 2652d04
Author: Mrugesh Mohapatra <[email protected]>
Date:   Thu Mar 24 14:26:04 2016 +0530

    Merge pull request #7718 from deathsythe47/fix/unnecessary-comma
    
    Remove unnecessary comma from CONTRIBUTING.md

Si desea limitar su comando a las últimas n confirmaciones de registro, simplemente puede pasar un parámetro. Por ejemplo, si desea listar los últimos 2 registros de confirmación

git log -2 

Registro en línea

git log --oneline

mostrará todos sus compromisos solo con la primera parte del hash y el mensaje de confirmación. Cada confirmación estará en una sola línea, como el oneline bandera sugiere.

La opción en línea imprime cada confirmación en una sola línea, lo cual es útil si está viendo muchas confirmaciones. - fuente

Ejemplo (del repositorio de Free Code Camp , con la misma sección de código del otro ejemplo):

87ef97f Merge pull request #7724 from BKinahan/fix/where-art-thou
eb8b729 Fix 'its' typo in Where Art Thou description
e50ff0d Merge pull request #7718 from deathsythe47/fix/unnecessary-comma
2652d04 Remove unnecessary comma from CONTRIBUTING.md
6b01875 Merge pull request #7667 from zerkms/patch-1
766f088 Fixed assignment operator terminology
d1e2468 Merge pull request #7690 from BKinahan/fix/unsubscribe-crash
bed9de2 Merge pull request #7657 from Rafase282/fix/

Si desea limitar su comando al último registro de n confirmaciones, simplemente puede pasar un parámetro. Por ejemplo, si desea listar los últimos 2 registros de confirmación

git log -2 --oneline

Registro más bonito

Para ver el registro en una estructura similar a un gráfico más bonito use:

git log --decorate --oneline --graph

salida de muestra:

* e0c1cea (HEAD -> maint, tag: v2.9.3, origin/maint) Git 2.9.3
*   9b601ea Merge branch 'jk/difftool-in-subdir' into maint
|\  
| * 32b8c58 difftool: use Git::* functions instead of passing around state
| * 98f917e difftool: avoid $GIT_DIR and $GIT_WORK_TREE
| * 9ec26e7 difftool: fix argument handling in subdirs
* |   f4fd627 Merge branch 'jk/reset-ident-time-per-commit' into maint
...

Ya que es un comando bastante grande, puedes asignar un alias:

git config --global alias.lol "log --decorate --oneline --graph"

Para usar la versión de alias:

# history of current branch :
git lol

# combined history of active branch (HEAD), develop and origin/master branches :
git lol HEAD develop origin/master

# combined history of everything in your repo :
git lol --all

Iniciar sesión con los cambios en línea

Para ver el registro con los cambios en línea, use las opciones -p o --patch .

git log --patch

Ejemplo (del repositorio de Trello Scientist )

ommit 8ea1452aca481a837d9504f1b2c77ad013367d25
Author: Raymond Chou <[email protected]>
Date:   Wed Mar 2 10:35:25 2016 -0800

    fix readme error link

diff --git a/README.md b/README.md
index 1120a00..9bef0ce 100644
--- a/README.md
+++ b/README.md
@@ -134,7 +134,7 @@ the control function threw, but *after* testing the other functions and readying
 the logging. The criteria for matching errors is based on the constructor and
 message.

-You can find this full example at [examples/errors.js](examples/error.js).
+You can find this full example at [examples/errors.js](examples/errors.js).

 ## Asynchronous behaviors


commit d3178a22716cc35b6a2bdd679a7ec24bc8c63ffa
:

Búsqueda de registro

git log -S"#define SAMPLES"

Busca la adición o eliminación de una cadena específica o la coincidencia de cadenas proporcionada REGEXP. En este caso, estamos buscando la adición / eliminación de la cadena #define SAMPLES . Por ejemplo:

+#define SAMPLES  100000

o

-#define SAMPLES  100000

git log -G"#define SAMPLES"

Busca cambios en líneas que contienen una cadena específica o la cadena que concuerda con REGEXP. Por ejemplo:

-#define SAMPLES  100000
+#define SAMPLES  100000000

Listar todas las contribuciones agrupadas por nombre de autor

git shortlog resume el git log y los grupos por autor

Si no se proporcionan parámetros, se mostrará una lista de todas las confirmaciones realizadas por comitista en orden cronológico.

$ git shortlog
Committer 1 (<number_of_commits>):
    Commit Message 1
    Commit Message 2
    ...
Committer 2 (<number_of_commits>):
    Commit Message 1
    Commit Message 2
    ...

Para ver simplemente el número de confirmaciones y suprimir la descripción de confirmación, pase la opción de resumen:

-s

--summary

$ git shortlog -s
<number_of_commits> Committer 1
<number_of_commits> Committer 2

Para ordenar la salida por número de confirmaciones en lugar de alfabéticamente por nombre de interlocutor, pase la opción numerada:

-n

--numbered


Para agregar el correo electrónico de un interlocutor, agregue la opción de correo electrónico:

-e

--email


También se puede proporcionar una opción de formato personalizado si desea mostrar información que no sea el asunto de confirmación:

--format

Esta puede ser cualquier cadena aceptada por la opción --format del git log de git log .

Vea Colorear Registros arriba para más información sobre esto.

Filtrar registros

git log --after '3 days ago'

Las fechas específicas también funcionan:

git log --after 2016-05-01

Al igual que con otros comandos e indicadores que aceptan un parámetro de fecha, el formato de fecha permitido es el que admite GNU date (altamente flexible).

Un alias para --after es --since .

Las banderas también existen para lo contrario: --before y --until .

También puede filtrar registros por author . p.ej

git log --author=author

Registrar un rango de líneas dentro de un archivo

$ git log -L 1,20:index.html
commit 6a57fde739de66293231f6204cbd8b2feca3a869
Author: John Doe <[email protected]>
Date:   Tue Mar 22 16:33:42 2016 -0500

    commit message

diff --git a/index.html b/index.html
--- a/index.html
+++ b/index.html
@@ -1,17 +1,20 @@
 <!DOCTYPE HTML>
 <html>
-       <head>
-        <meta charset="utf-8">
+
+<head>
+    <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">

Colorear registros

git log --graph --pretty=format:'%C(red)%h%Creset -%C(yellow)%d%Creset %s %C(green)(%cr) %C(yellow)<%an>%Creset'

La opción de format permite especificar su propio formato de salida de registro:

Parámetro Detalles
%C(color_name) La opción colorea la salida que viene después.
%h o% H abreviar cometer hash (use% H para el hash completo)
%Creset restablece el color al color predeterminado del terminal
%d nombres de referencia
%s asunto [cometer mensaje]
%cr fecha de envío, relativa a la fecha actual
%an nombre del autor

Una línea que muestra el nombre del comitente y el tiempo desde el compromiso

tree = log --oneline --decorate --source --pretty=format:'"%Cblue %h %Cgreen %ar %Cblue %an %C(yellow) %d %Creset %s"'  --all --graph 

ejemplo

*    40554ac  3 months ago  Alexander Zolotov    Merge pull request #95 from gmandnepr/external_plugins
|\  
| *  e509f61  3 months ago  Ievgen Degtiarenko    Documenting new property
| *  46d4cb6  3 months ago  Ievgen Degtiarenko    Running idea with external plugins
| *  6253da4  3 months ago  Ievgen Degtiarenko    Resolve external plugin classes
| *  9fdb4e7  3 months ago  Ievgen Degtiarenko    Keep original artifact name as this may be important for intellij
| *  22e82e4  3 months ago  Ievgen Degtiarenko    Declaring external plugin in intellij section
|/  
*  bc3d2cb  3 months ago  Alexander Zolotov    Ignore DTD in plugin.xml

Git Log Entre Dos Ramas

git log master..foo mostrará las confirmaciones que están en foo y no en master . Útil para ver lo que has agregado desde la ramificación!

Registro mostrando archivos comprometidos

git log --stat

Ejemplo:

commit 4ded994d7fc501451fa6e233361887a2365b91d1
Author: Manassés Souza <[email protected]>
Date:   Mon Jun 6 21:32:30 2016 -0300

    MercadoLibre java-sdk dependency

 mltracking-poc/.gitignore |  1 +
 mltracking-poc/pom.xml    | 14 ++++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

commit 506fff56190f75bc051248770fb0bcd976e3f9a5
Author: Manassés Souza <[email protected]>
Date:   Sat Jun 4 12:35:16 2016 -0300

    [manasses] generated by SpringBoot initializr

 .gitignore                                                                            |  42 ++++++++++++
 mltracking-poc/mvnw                                                                   | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 mltracking-poc/mvnw.cmd                                                               | 145 +++++++++++++++++++++++++++++++++++++++
 mltracking-poc/pom.xml                                                                |  74 ++++++++++++++++++++
 mltracking-poc/src/main/java/br/com/mls/mltracking/MltrackingPocApplication.java      |  12 ++++
 mltracking-poc/src/main/resources/application.properties                              |   0
 mltracking-poc/src/test/java/br/com/mls/mltracking/MltrackingPocApplicationTests.java |  18 +++++
 7 files changed, 524 insertions(+)

Mostrar los contenidos de un solo commit.

Usando git show podemos ver un solo commit

git show 48c83b3
git show 48c83b3690dfc7b0e622fd220f8f37c26a77c934

Ejemplo

commit 48c83b3690dfc7b0e622fd220f8f37c26a77c934
Author: Matt Clark <[email protected]>
Date:   Wed May 4 18:26:40 2016 -0400

    The commit message will be shown here.

diff --git a/src/main/java/org/jdm/api/jenkins/BuildStatus.java b/src/main/java/org/jdm/api/jenkins/BuildStatus.java
index 0b57e4a..fa8e6a5 100755
--- a/src/main/java/org/jdm/api/jenkins/BuildStatus.java
+++ b/src/main/java/org/jdm/api/jenkins/BuildStatus.java
@@ -50,7 +50,7 @@ public enum BuildStatus {

                        colorMap.put(BuildStatus.UNSTABLE, Color.decode( "#FFFF55" ));
-                       colorMap.put(BuildStatus.SUCCESS,  Color.decode( "#55FF55" ));
+                       colorMap.put(BuildStatus.SUCCESS,  Color.decode( "#33CC33" ));
                        colorMap.put(BuildStatus.BUILDING, Color.decode( "#5555FF" ));

Buscando la cadena de confirmación en el registro de git

Buscando git log usando alguna cadena en log:

git log [options] --grep "search_string"

Ejemplo:

git log --all --grep "removed file"

Buscará la cadena de removed file en todos los registros en todas las ramas .


A partir de git 2.4+, la búsqueda se puede invertir utilizando la opción --invert-grep .

Ejemplo:

git log --grep="add file" --invert-grep

Mostrará todas las confirmaciones que no contengan add file .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow