为什么git bisect命令的提交范围比指定的要大得多?

为什么git bisect命令的提交范围比指定的要大得多?,git,git-bisect,Git,Git Bisect,我在随机git存储库上执行了以下操作: git bisect start git bisect good HEAD~100 git bisect bad // Should just point to the current HEAD, right? 我本以为git会测试100次提交,但我得到的是1000次提交,是10倍多。我猜这一定有一个简单的解释,但我似乎找不到任何东西 编辑:也许我不够清楚。我得到了1000个提交,范围是使用git bisect测试的。这将相当于大约9-10个承诺被测试

我在随机git存储库上执行了以下操作:

git bisect start
git bisect good HEAD~100
git bisect bad // Should just point to the current HEAD, right?
我本以为git会测试100次提交,但我得到的是1000次提交,是10倍多。我猜这一定有一个简单的解释,但我似乎找不到任何东西

编辑:也许我不够清楚。我得到了1000个提交,范围是使用git bisect测试的。这将相当于大约9-10个承诺被测试


这是什么原因呢?

这是一个很有见地的问题

提交不一定都是同一分支/主干的一部分。对分将在引用变更集时跟随变更集,这可能导致多个分支之间的合并。 这将产生比基于当前分支的预期提交数量更多的提交


如果您将git log-n100的结果与git reflog的结果进行比较,您将看到这一点。

git rev list HEAD~100..HEAD | wc-l给了您什么?也许是分支机构和合并公司的,这给了我3306。我更困惑了。有趣。很抱歉,我不知道commit bisect所考虑的每个commit都是如何精确地映射到的,也许其他知道的人会插话。不用担心,谢谢你让我更困惑了DSee