127 votos

¿Cómo registro git con sólo la primera línea de salida?

Estoy tratando de personalizar el formato de git log. Quiero que todos se compromete a estar en una sola línea. Cada línea debe mostrar sólo la primera línea del mensaje de confirmación.
Me enteré de que git log --pretty=short debe hacer el truco, pero en mi equipo muestra el registro completo como git log (además de la marca de tiempo).

Además, he intentado utilizar los marcadores de posición, como se define en la página man. Sin embargo, yo no podía encontrar un comando para acortar el mensaje de registro. He probado esta línea git log --pretty=format:'%h : %s' que muestra el corto hash %hy el mensaje completo %s en una sola línea.

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


Quizás tiene algo que ver con la manera de escribir mis mensajes de confirmación. Aquí está un ejemplo:

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

Así, con el ejemplo dado, solo quiero ser la salida Added some functionality. precedido por el shortend hash.

203voto

Gauthier Puntos 6684

¿Has probado esto?

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

El problema probablemente es que le falta una línea en blanco después de la primera línea. El comando anterior lo general funciona para mí, pero acabo de probar en un commit sin vacías de segunda línea. Me dieron el mismo resultado: todo el mensaje en una sola línea.

Vacía segunda línea es un estándar en git commit mensajes. El comportamiento que ver probablemente fue implementado a propósito.

La primera línea de un mensaje de commit está destinado a ser una breve descripción. Si no puede hacerlo en una sola línea que usted puede utilizar varios, pero git considera todo antes de la primera línea vacía para ser el "breve descripción". oneline imprime toda la breve descripción, por lo que todas las 3 filas.

46voto

9000 Puntos 13242

¿Hace git log --oneline hacer lo que quieres?

14voto

Puede definir un alias global así puede invocar un tronco corto de una manera más cómoda:

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

A continuación, se puede llamar mediante git slog (incluso funciona con autocompletado si lo tienes activado).

-6voto

noisy Puntos 538

Si desea utilizar siempre git log de tal manera podría agregar alias git por

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

después de eso git log a imprimir lo que normalmente sería impreso porgit log --oneline

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X