如何找到包含bug的提交

时间:2016-08-24 14:35:04

标签: git version-control

我在我的本地计算机上工作,重构事物(提交A,B,C,D),我总是确保输出文件没有改变。合并(提交I)后,我发现输出文件已更改。

我怎样才能找到确切提交(E,F,G,H)的原因?

A->B->C->D -I

\E->F->G->H/

谢谢!

1 个答案:

答案 0 :(得分:3)

你在git bisect之后。你给它一个坏的和一个好的修改然后它检查它们之间的中间,等待你告诉它这个提交是好的,坏的还是未知的(例如因为它不能在那个提交中编译)然后检查出来剩下的一半中间。这种二进制搜索算法将非常快速地为您提供更改输出的提交。

此外,如果您可以自动执行确定输出文件是否随脚本更改的过程,您可以将该脚本提供给git bisect,它将自动运行脚本以确定好,坏或未知,以便您可以等待结果。