UI和git rev-list命令上的git过滤器有什么区别

时间:2018-09-28 05:20:59

标签: git github git-filter

我正在尝试分析在我的master分支上完成的提交数量。我发现了两种方法,一种是在git UI上应用过滤器,另一种是通过git CLI。我通过两个命令得到了不同的输出。输出为-

  

ON UI-
    is:pr is:merged merged:>=2018-05-20

我得到的输出为 81 总计。当我尝试使用以下命令通过CLI获取输出时-

  

使用git CLI-
    git rev-list --count HEAD --since="Sep 05 2018"

o / p总计- 230

根据我的理解,这两个命令应该产生相同的输出。还是它们之间有什么区别?
注意:-不允许直接在master上提交。

1 个答案:

答案 0 :(得分:0)

rev-list有很多过滤选项,其中一个是:

--merges
    Print only merge commits. This is exactly the same as --min-parents=2.

我的猜测是is:merged适用。


note :不要忘记's',--merge也存在,并且根本不会做同样的事情:

--merge
    After a failed merge, show refs that touch files having a conflict and
    don’t exist on all heads to merge.

考虑一下:git repo中未表示github的pull请求,我想is:pr会列出这些请求;在这种情况下,is:merged还可基于github数据库中的标志进行过滤,而不是您可以通过git rev-list轻松检查的东西。

在您的git合并中,您是否看到某些显然与PR不匹配的内容?