25

我正在使用git bisect来查找导致提交的失败。但是,该范围内的许多提交肯定是无关紧要的(因为它们是对文档或单元测试的提交)。我想让 git bisect 自动跳过影响某些目录中文件的提交。这有可能吗?

4

1 回答 1

36

您在这里有几个选择:

  1. 忽略特定的提交

    git bisect包含跳过提交的功能。你可以指定你不想测试的提交、标签、范围

     git bisect skip 0dae5f ff049ab ...
    

    只需在您之前执行此操作git bisect run,它应该会跳过您指定的内容。

  2. 指定具有损坏源的文件夹

    您还可以通过指定它应该在哪些文件夹中查找问题来减少提交bisect测试。这是在bisect过程开始时通过提供额外的参数来完成的git bisect start(引用标准手册):

     git bisect start -- arch/i386 include/asm-i386
    

    Bisect 只会考虑触及指定文件夹的提交。


如果您想自动收集涉及某些文件或文件夹的提交,您可以使用git log它。例如,以下命令将为您提供修改某些文件夹中文件的提交名称:

git log --pretty=format:%H  tests/ docs/

您可以git bisect skip使用 shell 功能提供结果:

git bisect skip `git log --pretty=format:%H  tests/ docs/`
于 2010-07-05T12:53:17.277 回答