2010-07-28 11 views
136

Ich brauche einen Installationsbefehl, um die Commit-Nachricht eines gegebenen Commits zu drucken - nicht mehr und nicht weniger.Commit-Nachricht eines bestimmten Commits in git drucken

+1

Wenn jemand einen Weg hier auf der Suche kommt eine einzeilige Commit-Nachricht zu drucken, aber kümmert sich nicht darum über den Hash, der am Anfang erscheint, funktioniert das folgende: 'git show -s --oneline ' – waldyrious

+0

Wo sollten wir die Zeile hinzufügen, um die Commit-Nachricht im Server-Rechner zu drucken? Ich meinte welche Hook-Datei? –

Antwort

182

Es ist nicht „Sanitär“, aber es wird genau tun, was Sie wollen:

$ git log --format=%B -n 1 <commit> 

Wenn Sie unbedingt einen „Sanitär“ Befehl benötigt (nicht sicher, warum das ist eine Anforderung), können Sie rev-list verwenden:

$ git rev-list --format=%B --max-count=1 <commit> 

Obwohl rev-list auch die sha begehen ausdrucken (in der ersten Zeile) zusätzlich zu der Nachricht begehen.

+4

Arbeitete perfekt für mich - aber ich verwendete '% s% b' anstelle von'% B' (auf einer Linux-Box) – adamk

+15

'% B' ist ein richtiger Spezifizierer (zumindest in Git 1.7.2, nicht sicher, wann es wurde hinzugefügt). – mipadi

+2

'% B' wurde irgendwann nach 1.7.1 hinzugefügt (wahrscheinlich in 1.7.1.1). – mipadi

8

Nicht Sanitär-, aber ich habe diese in meinem .gitconfig:

lsum = log -n 1 --pretty=format:'%s' 
lmsg = log -n 1 --pretty=format:'%s%n%n%b' 

Die "letzte Übersicht" und "letzte Meldung" ist. Sie können einen Commit bereitstellen, um die Zusammenfassung oder Nachricht dieses Commits abzurufen. (Ich verwende 1.7.0.5, also habe nicht% B.)

10

Dies wird Ihnen eine sehr kompakte Liste aller Nachrichten für eine bestimmte Zeit geben.

git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT 
79

git show ist ein Sanitär-Befehl als git log, und hat die gleichen Formatierungsoptionen:

git show -s --format=%B SHA1 
+9

Und wenn Sie nur die erste Zeile ("Betreff") möchten, verwenden Sie ' % s' statt '% B'. – ntc2

+8

(Ich bevorzuge dies mit der angenommenen "log" oder "rev-list" Antwort, da es sich um eine Single-Commit-Operation handelt und nicht um eine Liste, die auf 1 Eintrag beschränkt ist.) – Rich

Verwandte Themen