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

Fre*_*abe 21 git git-bisect

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

P S*_*ved 30

你有几个选择:

  1. 忽略特定提交

    git bisect包含跳过提交的功能.您可以指定不想测试的提交,标记和范围

    git bisect skip 0dae5f ff049ab ...
    
    Run Code Online (Sandbox Code Playgroud)

    在你面前这样做git bisect run,它应该跳过你指定的内容.

  2. 指定包含损坏源的文件夹

    您还可以bisect通过指定应该查找问题的文件夹来减少提交测试.这在bisect过程开始时通过将其他参数添加到git bisect start(引自标准手册)来完成:

    git bisect start -- arch/i386 include/asm-i386
    
    Run Code Online (Sandbox Code Playgroud)

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


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

git log --pretty=format:%H  tests/ docs/
Run Code Online (Sandbox Code Playgroud)

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

git bisect skip `git log --pretty=format:%H  tests/ docs/`
Run Code Online (Sandbox Code Playgroud)

  • 嗯向'git bisect start`添加2个文件夹只查看触摸BOTH文件夹的提交.有没有办法查看触及EITHER文件夹的提交? (3认同)
  • @FrerichRaabe:什么,你的 git 没有附带 bash 的副本? (2认同)