如何使用文件路径减少git bisect运行?

时间:2010-07-05 12:40:16

标签: git git-bisect

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

1 个答案:

答案 0 :(得分:29)

这里有几个选项:

  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只会考虑触及指定文件夹的提交。


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

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

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

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