¿Cómo sacar git log solo con la primera línea?

Estoy tratando de personalizar el formatting para el git log . Quiero que todos los commits se muestren en una línea. Cada línea solo debe mostrar la primera línea del post de confirmación.
Descubrí que git log --pretty=short debería hacer el truco pero en mi computadora muestra el logging completo como lo hace el logging de git log (además de la timestamp).

Además, traté de usar los marcadores de position como se define en la página del manual . Sin embargo, no pude encontrar un command para acortar el post de logging. Intenté esta línea git log --pretty=format:'%h : %s' que muestra el hash en corto %h y el post completo %s en una línea.

Estoy usando la git version 1.7.3.1.msysgit.0 en Vista.


Tal vez tiene algo que ver con la forma en que escribo mis posts de compromiso. Aquí hay un ejemplo:

 Added some functionality. + Added print function in Foo class. + Added conversion from foo to baz. 

Por lo tanto, con el ejemplo dado, solo quiero que me den salida. Added some functionality. precedido por el hash de shortend.

¿Has probado esto?

 git log --pretty=oneline --abbrev-commit 

El problema es probablemente que te falta una línea vacía después de la primera línea. El command anterior generalmente funciona para mí, pero acabo de probar en una confirmación sin una segunda línea vacía. Obtuve el mismo resultado que tú: todo el post en una línea.

La segunda línea vacía es un estándar en los posts de confirmación de git. El comportamiento que ves probablemente fue implementado a propósito.

La primera línea de un post de compromiso debe ser una breve descripción. Si no puede hacerlo en una sola línea, puede usar varios, pero git considera que todo lo anterior a la primera línea vacía es la "breve descripción". oneline imprime toda la descripción corta, por lo que todas sus 3 filas.

¿ git log --oneline hace lo que quiere?

Puede definir un alias global para que pueda invocar un logging corto de una manera más cómoda:

git config --global alias.slog "log --pretty=oneline --abbrev-commit"

Luego puede llamarlo usando git slog (incluso funciona con autocomplete si lo tiene habilitado).

Mejor y más fácil git log haciendo un alias . Pegue el código de abajo al terminal solo una vez.

 git config --global alias.lg "log --color --graph --pretty=format:'%Cnetworking%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" 

Salida

 git lg 

Líneas de salida cambiadas

 git lg -p 

Otras lecturas.
https://coderwall.com/p/euwpig/a-better-git-log
Lectura avanzada.
http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/

Sin posts de confirmación, solo el hash:

 git log --pretty=oneline | awk '{print $1}' 

si quieres usar siempre git log de manera que puedas agregar git alias

git config --global alias.log log --oneline

después de ese git log se imprimirá lo que normalmente se imprimiría con el git log --oneline