我知道 git bisect 在设计上是分支感知的,因此如果在好提交 G 和坏提交 B 之间合并到一个分支中,它也需要考虑这些更改,因为 bug 可能包含在分支中。
在我的情况下,我有一个依赖作为一个分支,我不时合并对我的主项目的更改。该依赖项可以被认为是一个库,它与我的主项目具有不同的运行方式、不同的构建系统等,但我仍然希望通过合并到主分支从它进行最近的更改。
那么问题是,在这种情况下二等分时,您最终会在依赖项的提交中出现不可编译的提交。
在进行二等分时,我真的只想将每个分支合并视为一次提交。
到目前为止,我发现的一种解决方法是使用 git log --first-parent 制作有效提交 G..B 的列表,然后在二等分时,如果当前提交不在该列表中,则执行 git bisect skip。不过,这需要很多时间(每次跳过都有很多文件要签出/更改)。
所以问题是:有没有办法用 git bisect 做 --first-parent 或提供我认为有效的提交列表以避免检查我已经知道不可编译的分支?我们如何只检查图中标记为o的提交?
G---o---o---o---o---o---o---B主项目分支 /// x---x---x---x---x 依赖 \ / x' 依赖项目任务分支
编辑:为清楚起见添加了图表