Git 半自动找到错误的提交

示例

想象一下,您在master分支机构上,并且某些工作未按预期进行(引入了回归),但是您不知道在哪里。您所知道的是,这在上一发行版中一直有效(例如,已被标记,或者您知道提交哈希,请old-rel在此处进行)。

Git为您提供帮助,找到错误的提交,该错误的提交以很少的步骤(二进制搜索)引入了回归。

首先开始平分:

git bisect start master old-rel

这将告诉git这master是一个损坏的修订版(或第一个损坏的版本),并且old-rel是最新的已知版本。

Git现在将在两次提交的中间检查一个分离的头部。现在,您可以进行测试了。取决于它是否有效

git bisect good

要么

git bisect bad

。万一这个提交不能被测试,您可以轻松地git reset测试一下,git willl会照顾到这一点。

几个步骤后,git将输出错误的提交哈希。

为了终止二等分过程,只需发出

git bisect reset

和git将恢复以前的状态。