找到一个好版本和一个坏版本的commit,一般当前版本是坏的。
可以git自己来记录,就不用看那个树自己去找了。
1. git bisect start //开始二分法查找
2. git bisect bad //将当前版本标记为坏的,要保证当前取的是最新的坏版本,或有问题的坏版本。
3. git bisect good <commitid> 把前面没问题的commitid标记为好的,要测试下保证确实是好的.
4. git describe //取好的和坏的中间版本,会提示一个id
5 git checkout id //id为4中提示的id ,然后编译测试
6. 如果为好的,用git bisect good,否则用git bisect bad标记为坏的
7. 重复进行4、5、6的动作。
注意某一次标记为good的时候会提示
<commit id> is the first bad commit
这时就找到了有问题的提交,
8. git bisect reset //二分法复位
如果标记为bad或good时不小心标错了,可以用git bisect log > logfile
修改logfile, 然后
git bisect reset
git bisect replay logfile
跳到4继续