color Wie gib ich git log nur mit der ersten Zeile aus?



git log grep (4)

Hast du das versucht?

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

Das Problem ist wahrscheinlich, dass Sie eine leere Zeile nach der ersten Zeile fehlt. Der obige Befehl funktioniert normalerweise für mich, aber ich habe gerade einen Commit ohne leere zweite Zeile getestet. Ich habe das gleiche Ergebnis wie du: die ganze Nachricht in einer Zeile.

Leere zweite Zeile ist ein Standard in Git-Commit-Nachrichten. Das Verhalten, das Sie sehen, wurde wahrscheinlich absichtlich implementiert.

Die erste Zeile einer Commit-Nachricht soll eine kurze Beschreibung sein. Wenn Sie es nicht in einer einzigen Zeile machen können, können Sie mehrere verwenden, aber git berücksichtigt alles vor der ersten leeren Zeile als "kurze Beschreibung". oneline druckt die gesamte Kurzbeschreibung, also alle 3 Zeilen.

https://ffff65535.com

Ich versuche das Format für git log anzupassen. Ich möchte, dass alle Commits in einer Zeile angezeigt werden. Jede Zeile sollte nur die erste Zeile der Commit-Nachricht anzeigen.
Ich fand heraus, dass git log --pretty=short den Trick machen sollte, aber auf meinem Computer zeigt es das vollständige Protokoll wie git log (neben dem Zeitstempel).

Außerdem habe ich versucht, die Platzhalter wie in der man-Seite definiert zu verwenden. Ich konnte jedoch keinen Befehl zum Verkürzen der Protokollnachricht finden. Ich habe versucht, diese Zeile git log --pretty=format:'%h : %s' die den kurzgeschlossenen Hash %h und die vollständige Nachricht %s in einer Zeile zeigt.

Ich verwende git version 1.7.3.1.msysgit.0 unter Vista.

Vielleicht hat es etwas damit zu tun, wie ich meine Commit-Nachrichten schreibe. Hier ist ein Beispiel:

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

Also, mit dem gegebenen Beispiel möchte ich nur ausgegeben werden. Added some functionality. wird durch den Shortend-Hash vorangestellt.


Ohne Commit-Nachrichten, nur der Hash:

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

Tut git log --oneline , was du willst?


Wenn Sie git log so verwenden möchten, können Sie git alias by hinzufügen

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

danach wird git log drucken, was normalerweise von git log --oneline gedruckt git log --oneline





commit-message