Ich benötige einen Installationsbefehl, um die Festschreibungsnachricht eines bestimmten Festschreibungsvorgangs zu drucken - nicht mehr und nicht weniger.
Ich benötige einen Installationsbefehl, um die Festschreibungsnachricht eines bestimmten Festschreibungsvorgangs zu drucken - nicht mehr und nicht weniger.
Antworten:
Es ist kein "Sanitär", aber es wird genau das tun, was Sie wollen:
$ git log --format=%B -n 1 <commit>
Wenn Sie unbedingt einen "Sanitär" -Befehl benötigen (nicht sicher, warum dies erforderlich ist), können Sie Folgendes verwenden rev-list
:
$ git rev-list --format=%B --max-count=1 <commit>
Zwar rev-list
wird zusätzlich zur Commit-Nachricht auch das Commit sha (in der ersten Zeile) ausgedruckt.
%s%b
%B
%B
ist ein korrekter Bezeichner (zumindest in Git 1.7.2 nicht sicher, wann er hinzugefügt wurde).
%B
wurde irgendwann nach 1.7.1 hinzugefügt (wahrscheinlich in 1.7.1.1).
$ git log --format=%B -n 1 <commit> | cat -
Dadurch erhalten Sie die Festschreibungsnachricht und keine Festschreibungsnachricht, und Sie können sie "weiterleiten". Ich verwende dies tatsächlich als Teil meines CI-Skripts.
git show
ist eher ein Installationsbefehl als git log
und hat die gleichen Formatierungsoptionen:
git show -s --format=%B SHA1
%s
stattdessen %B
.
Keine Klempnerarbeiten, aber ich habe diese in meiner .gitconfig:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
Das sind "letzte Zusammenfassung" und "letzte Nachricht". Sie können ein Commit bereitstellen, um die Zusammenfassung oder Nachricht dieses Commits abzurufen. (Ich verwende 1.7.0.5, habe also kein% B.)
Dadurch erhalten Sie eine sehr kompakte Liste aller Nachrichten für eine bestimmte Zeit.
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
Ich fing an zu benutzen
git show-branch --no-name <hash>
Es scheint schneller zu sein als
git show -s --format=%s <hash>
Beide ergeben das gleiche Ergebnis
git show -s --oneline <commit>