ある特定のコミットのコミットメッセージを出力するには、配管コマンドが必要です。それ以上でもそれ以下でもありません。
8 に答える
これは「配管」ではありませんが、必要な処理を正確に実行します。
$ git log --format=%B -n 1 <commit>
「配管」コマンドがどうしても必要な場合(それが要件である理由がわからない場合)、次を使用できますrev-list
。
$ git rev-list --format=%B --max-count=1 <commit>
ただしrev-list
、コミットメッセージに加えて、コミットシャ(最初の行)も出力されます。
git show
はよりも配管コマンドでgit log
あり、同じフォーマットオプションがあります。
git show -s --format=%B SHA1
配管ではありませんが、.gitconfigに次のものがあります。
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
それが「最後のまとめ」と「最後のメッセージ」です。コミットを提供して、そのコミットの要約またはメッセージを取得できます。(私は1.7.0.5を使用しているので、%Bはありません。)
これにより、指定した時間のすべてのメッセージの非常にコンパクトなリストが得られます。
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
使い始めました
git show-branch --no-name <hash>
それよりも速いようです
git show -s --format=%s <hash>
どちらも同じ結果になります
私は実際に、すべてのリポジトリのステータスを確認するための小さなツールを作成しました。githubで見つけることができます。
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>
:asha
、、、、など。HEAD
_branch-name
tag-name
branch1...branch2
| tail +2
:最初の行はcommit shaです、それをスキップしてください
git log
またはよりもはるかに高速ですgit show
。
私はこれにshortlogを使用します:
$ git shortlog master..
Username (3):
Write something
Add something
Bump to 1.3.8
gitで最後のコミットメッセージだけを取得するには
git log --format=%B -n 1 $(git log -1 --pretty=format:"%h") | cat -