我试图避免在这里编写我自己的 bisect 工具,但我想我会先在这里检查一下。
基本上,我只想平分列出的提交git log --merges
(即我想弄清楚哪个 PR 引入了问题)。但是,git bisect
似乎使用所有提交,而不仅仅是 PR 合并提交。这是有问题的,因为测试提交是好是坏对于除了 PR 合并提交(预先构建在工件中)之外的任何东西都是极其繁重的。
使用这里git skip
建议的剔除非合并提交是次优的,而不是真正的合并提交的二进制搜索。例如,我使用了这种方法,这是平分所采用的路径(这是合并提交的列表,星号是问题合并提交,数字是平分所采用的路径):git skip
6e473285b96b62d6f4d95b36b23099f1ac55bdc9
7ef96ab33ca8ca1b0a936d3cb40afec69637b289
* fa56ec958635e1e4db655e7768597ebefb475627 4
7a2e6c2087d58403f0801178f58ee8478f8e575b 5 DONE, bad merge commit is fa56ec9
a86c9e98f94a4c619ef2b0a987886c02397d8eda 3
466469d32acf50769dc2db8bb97ce898e07a1018
fb9c84883b726e733631f7b46fa0074e7a685ffc
dd5d343188a27848d7e563b458cdef4bb295e321 2
918d903a543402e6acc9eba9d5f38f1ebff6329d
dfffce27f96415189775286adfd4222aba72e761
07ceb2ba9620bbf4360b9b461c587ed2d18ccabb
31813de9c7efb6765a18657f235379d1049fbbea
460a2f8061e4d1b1d6faf81e0f8b3e1af011f096 1 <-- bisect starting at sub-optimal commit because of git skip
93d5da46d01f180c8b4d36c8b302bf0763a79955
fd01fd2381ec47954fc37488df9fbe773e9cf68a
2cf6e83fc63d95c5ab50a4c23be12188b2983910
b7bd87fde16d9905b4d368a605b7678184577b0e
6e473285b96b62d6f4d95b36b23099f1ac55bdc9
7ef96ab33ca8ca1b0a936d3cb40afec69637b289
* fa56ec958635e1e4db655e7768597ebefb475627 3
7a2e6c2087d58403f0801178f58ee8478f8e575b 4 DONE
a86c9e98f94a4c619ef2b0a987886c02397d8eda 2
466469d32acf50769dc2db8bb97ce898e07a1018
fb9c84883b726e733631f7b46fa0074e7a685ffc
dd5d343188a27848d7e563b458cdef4bb295e321
918d903a543402e6acc9eba9d5f38f1ebff6329d 1 <-- optimal starting commit
dfffce27f96415189775286adfd4222aba72e761
07ceb2ba9620bbf4360b9b461c587ed2d18ccabb
31813de9c7efb6765a18657f235379d1049fbbea
460a2f8061e4d1b1d6faf81e0f8b3e1af011f096
93d5da46d01f180c8b4d36c8b302bf0763a79955
fd01fd2381ec47954fc37488df9fbe773e9cf68a
2cf6e83fc63d95c5ab50a4c23be12188b2983910
b7bd87fde16d9905b4d368a605b7678184577b0e
我可以生成一个我想要一分为二的提交列表git log --merges
,但是是否有可能以某种方式将该列表提供给它,git bisect
以便它可以最佳地一分为二,还是我不走运?