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

您可以使用 --pretty 参数,如果您需要扫描大量日志,它非常有用:

http://gitimmersion.com/lab_10.html

我记得我过去看到过关于它的非常广泛的资源,但我再也找不到了。无论如何,如果这还不够,请进一步搜索。

于 2012-08-10T09:43:42.810 回答
0

有没有一种简单的方法可以告诉 git shortlog 我们不想要那些樱桃挑选行(它们在实际日志中的新行上)?

目前,没有简单的方法可以git shortlog单独完成。

这些精选行添加在提交消息的第二行,因此大多数 git 工具将它们视为提交标题的一部分。正如文斯建议的那样,可以尝试为短日志条目提供自定义格式(带有--format选项),但是,似乎没有这样的漂亮格式或格式占位符,只会返回主题的第一行。(见man git log

但似乎git应该知道自己的注释并能够处理它们。我错过了什么?

git shortlog实际上似乎只知道[PATCH]前缀(准确地说,就 regexp: 而言^\s*\[PATCH[^]]*\])。

总而言之,我认为最好的办法是留下你的sed替补。

于 2012-08-10T10:59:18.407 回答