我在我的本地计算机上工作,重构事物(提交A,B,C,D),我总是确保输出文件没有改变。合并(提交I)后,我发现输出文件已更改。
我怎样才能找到确切提交(E,F,G,H)的原因?
A->B->C->D -I
\E->F->G->H/
谢谢!
答案 0 :(得分:3)
你在git bisect
之后。你给它一个坏的和一个好的修改然后它检查它们之间的中间,等待你告诉它这个提交是好的,坏的还是未知的(例如因为它不能在那个提交中编译)然后检查出来剩下的一半中间。这种二进制搜索算法将非常快速地为您提供更改输出的提交。
此外,如果您可以自动执行确定输出文件是否随脚本更改的过程,您可以将该脚本提供给git bisect
,它将自动运行脚本以确定好,坏或未知,以便您可以等待结果。