我有一个包含复杂分支和合并树的存储库,我想使用 git bisect 来查找何时引入了错误。
我有一个好的提交和坏的提交来开始平分,其中好的提交是坏提交的祖先。
我希望git bisect
去提交具有良好提交作为祖先的提交,但它没有(使用 git 2.21.0)。
目前,我通过保留提交列表并git rev-list --ancestry-path GOOD..BAD
在中间使用和选择提交来手动进行平分。有没有办法自动化这个git bisect
?它有一个标志可以留在祖先的道路上吗?
首先在祖先路径中二等分的推理
与正在搜索的错误相关的功能可能并不存在于所有分支中,因此检查在那里无关紧要。不过,它们应该存在于祖先路径中。
一旦完成了祖先路径的二分,一个人可能会得到一个合并提交作为责备,他们会知道这个错误来自那个分支。这已经教会了人们很多关于这个错误的知识。
要继续对引入错误的分支进行二等分,不需要单独测试每个提交(因为它们不一定具有出现错误所需的功能),但应该将每个提交与最后一个好的提交合并然后检查是否存在错误。然后可以查明一个特定的提交,当它与好的提交合并时,会引入错误。
请注意,我已经多次完成此过程,它对我非常有用,我只是在寻找使其更方便的方法。