319

ある特定のコミットのコミットメッセージを出力するには、配管コマンドが必要です。それ以上でもそれ以下でもありません。

4

8 に答える 8

406

これは「配管」ではありませんが、必要な処理を正確に実行します。

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

「配管」コマンドがどうしても必要な場合(それが要件である理由がわからない場合)、次を使用できますrev-list

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

ただしrev-list、コミットメッセージに加えて、コミットシャ(最初の行)も出力されます。

于 2010-07-28T20:47:09.640 に答える
165

git showはよりも配管コマンドでgit logあり、同じフォーマットオプションがあります。

git show -s --format=%B SHA1
于 2013-08-01T13:45:30.500 に答える
23

配管ではありませんが、.gitconfigに次のものがあります。

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

それが「最後のまとめ」と「最後のメッセージ」です。コミットを提供して、そのコミットの要約またはメッセージを取得できます。(私は1.7.0.5を使用しているので、%Bはありません。)

于 2010-07-28T22:14:07.393 に答える
17

これにより、指定した時間のすべてのメッセージの非常にコンパクトなリストが得られます。

git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
于 2011-11-28T11:35:03.793 に答える
16

使い始めました

git show-branch --no-name <hash>

それよりも速いようです

git show -s --format=%s <hash>

どちらも同じ結果になります

私は実際に、すべてのリポジトリのステータスを確認するための小さなツールを作成しました。githubで見つけることができます。

ここに画像の説明を入力してください

于 2019-02-26T12:58:30.557 に答える
4

git-rev-listを使用してコミットメッセージを出力する

git-rev-listコミットのメッセージを出力できる配管コマンドです。

このように使用してください。

git rev-list --format=%B --max-count=1 <commit> | tail +2
  • --format=%B:メッセージを表示(件名%s+ %n%n+本文%b
  • --max-count=1:1つのコミットにのみ関心があります
  • <commit>:a sha、、、、など。HEAD_branch-nametag-namebranch1...branch2
  • | tail +2:最初の行はcommit shaです、それをスキップしてください

git logまたはよりもはるかに高速ですgit show

于 2021-05-04T14:01:21.093 に答える
3

私はこれにshortlogを使用します:

$ git shortlog master..
Username (3):
      Write something
      Add something
      Bump to 1.3.8 
于 2018-11-28T15:53:30.867 に答える
1

gitで最後のコミットメッセージだけを取得するには

git log --format=%B -n 1 $(git log -1 --pretty=format:"%h") | cat -

于 2021-03-02T04:48:41.780 に答える