特定のコミットのコミットメッセージを出力するための配管コマンドが必要です。それ以上でもそれ以下でもありません。
それは「配管」ではありませんが、まさにあなたが望むことをします:
$ git log --format=%B -n 1 <commit>
「配管」コマンドが絶対に必要な場合(それが要件である理由がわかりません)、rev-list
を使用できます。
$ git rev-list --format=%B --max-count=1 <commit>
rev-list
は、コミットメッセージに加えて、コミットshaも(最初の行に)出力します。
git show
はgit log
よりも配管コマンドであり、同じフォーマットオプションがあります。
git show -s --format=%B SHA1
これにより、指定した時間のすべてのメッセージの非常にコンパクトなリストが表示されます。
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
配管ではありませんが、.gitconfigにこれらがあります:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
それが「最後の要約」と「最後のメッセージ」です。コミットを提供して、そのコミットの要約またはメッセージを取得できます。 (1.7.0.5を使用しているため、%Bはありません。)
これにはショートログを使用します。
$ git shortlog master..
Username (3):
Write something
Add something
Bump to 1.3.8
使い始めました
git show-branch --no-name <hash>
より速いようです
git show -s --format=%s <hash>
両方とも同じ結果になります