我正在使用git bisect来查找导致提交的失败。但是,该范围内的许多提交肯定是无关紧要的(因为它们是对文档或单元测试的提交)。我想让git bisect自动跳过影响某些目录中文件的提交。这有可能吗?
答案 0 :(得分:29)
这里有几个选项:
忽略特定提交
git bisect
包含跳过提交的功能。您可以使用
git bisect skip 0dae5f ff049ab ...
只需在git bisect run
之前执行此操作,它应该跳过您指定的内容。
指定包含损坏来源的文件夹
您还可以通过指定应该查找问题的文件夹来减少提交bisect
测试。这是在bisect
进程开始时通过向git bisect start
添加其他参数来完成的(引自标准手册):
git bisect start -- arch/i386 include/asm-i386
Bisect只会考虑触及指定文件夹的提交。
如果您想自动收集触摸某些文件或文件夹的提交,可以使用git log
。例如,以下命令将为您提供修改某些文件夹中文件的提交名称:
git log --pretty=format:%H tests/ docs/
您可以使用shell功能将结果提供给git bisect skip
:
git bisect skip `git log --pretty=format:%H tests/ docs/`