【问题标题】:Git count filtered commitsGit计数过滤的提交
【发布时间】:2018-10-02 12:54:48
【问题描述】:

是否可以通过 commit-message 过滤多个 git 提交?

$ git log --all --grep='SEARCH_STRING'  

通过这个 sn-p,我得到了一个包含搜索字符串的所有提交的列表。 但是我收到了很多提交,而且很难手动计算。

git 有没有办法告诉我这个列表中提交的总和?

【问题讨论】:

  • 你能给我们看一个给定输入的预期输出样本吗?不完全确定“此列表中的提交总和”是什么意思
  • 嗨@Inian。我只想获取与提交消息中给定字符串匹配的提交数量。
  • git log --all --grep='SEARCH_STRING' --count 不起作用吗?甚至git log --all --grep='SEARCH_STRING' | wc -l
  • 第一个再次给出了列表。第二个计算此列表中的行数。

标签: git count grep git-commit commit-message


【解决方案1】:

我想我找到了它

$ git rev-list --all --grep='SEARCH_STRING' --count

感谢 @Inian 提供 --count 的提示。

【讨论】:

  • 这是正确的答案(嗯,是几种可能的答案之一,但我会使用)。一般来说,如果你有一个git log 命令想要转换成某种脚本,你只需将log 替换为rev-list。从那时起,它们大多具有相同的选项,但log 显示对用户的提交,而rev-list 仅列出它们的哈希 ID。添加 --count 会将哈希 ID 列表替换为哈希 ID 计数(通常是一个计数,但请参阅 --left-right 和对称差异;这会得到两个计数)。
  • 酷评论一如既往地从中学到了很多,就像 torek 的任何其他帖子或评论一样
猜你喜欢
  • 2022-07-06
  • 2016-06-16
  • 2012-11-14
  • 2012-07-24
  • 2020-07-02
  • 2021-04-30
  • 1970-01-01
  • 2011-11-06
相关资源
最近更新 更多