0

git shortlog人間が読める変更の要約を作成するのに便利です。ただし、マスターブランチから変更をチェリーピックするときは、どのコミットからピックしたかを記録するため、-xフラグを使用します。git cherry-pickこれにより、ショートログにいくつかの醜さが生じます。

% git shortlog Version-3.5.3..3.5

Dan S (5):
  Fix typo that causes build fail on big-endian archs, thanks Felipe Sateler     (cherry picked from commit 4588258193072cd2fb845f7fb0b4670d6ad5edf2)
  fix build on ARM (where qreal==float); thanks Felipe Sateler     (cherry picked from commit 976d560060185c1e31c9f40660172f0054a4a05c)
  Strip gremlin characters from JITLib wrapForNodeProxy.sc     (cherry picked from commit d0842acae77a90b5eb9811d947ee2dad2282edff)
  choose clipping rather than wraparound for writing integer-format audio     files (libsndfile setting)
  arm build fix: another double->qreal in QcMultiSlider     (cherry picked from commit 548ad319dddf53e4edac1cfa44b3193027eefda2)

git shortlogこれらのチェリーピック行 (実際のログの新しい行にあります) が不要であることを簡単に伝える方法はありますか?

もちろん、たとえば を使用してそれらを除外できることはわかっていgit shortlog Version-3.5.3..3.5 | sed 's/[(]cherry picked.*$//g'ます。しかし、git は独自の注釈を認識し、それらを処理できるようにする必要があるようです。私が逃したものはありますか?

4

2 に答える 2

0

これらのチェリーピックライン(実際のログの新しいラインにある)が不要であることをgit shortlogに伝える簡単な方法はありますか?

現在、一人でそれを行う簡単な方法はありませんgit shortlog

これらのチェリーピック行は、コミットメッセージの2行目に追加されるため、ほとんどのgitツールではコミットタイトルの一部と見なされます。Vinceが提案したように、ショートログエントリにカスタムフォーマットを提供することを試みることができます(--formatオプション付き)が、件名の最初の行のみを返すようなきれいなフォーマットやフォーマットプレースホルダーはないようです。(を参照man git log

しかし、gitはそれ自体の注釈を認識し、それらを処理できる必要があるようです。私が見逃したものはありますか?

git shortlog実際にはプレフィックスのみを認識しているようです[PATCH](正確には、正規表現の観点から:) ^\s*\[PATCH[^]]*\]

要約すると、私はあなたのsed代わりにとどまることが最善だと思います。

于 2012-08-10T10:59:18.407 に答える
0

--pretty引数を使用できます。これは、大量のログをスキャンする必要がある場合に非常に便利です。

http://gitimmersion.com/lab_10.html

過去にそれについて非常に広範なリソースを見たのを覚えていますが、それ以上見つけることができません。とにかく、これでは不十分な場合は、さらに検索してください。

于 2012-08-10T09:43:42.810 に答える