git bisect二分查找使用

2020-08-07  本文已影响0人  AnyunBo

使用 git bisect 二分查找定位bug

原理

git bisect 使用原理

原理: 将代码提交的历史,按照两分法不断缩小定位。
所谓"两分法"就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。

使用

第一步:

使用命令:git bisect start [终点提交hash值] [起点提交hash值]

$  git bisect start 5f1694b2b54e2f805636d0c5e304e0c611fe8d6c  a4bfb09830be3b924f3c34332a9145b25c843734

注意: 使用git bisect start [终点提交hash值] [起点提交hash值] 后会直接切换到 起点和终点提交的 正中间分支

第二步:

先运行第一步二分查找后所在的 正中间分支,确认要定位的bug是否存在

$ git bisect good

结果如下:


无问题分支

图中的标注释意:

输入 命令,标记当前分支有问题

$ git bisect bad

其结果 与 问题结果相似

第三步

根据第二步每次运行检查的结果 ,循环判断执行 第二步的判断,直到出现:提交hash值 is the first bad commit
例子:

33417f245510f025da05285d745e8c9205a6d74c is the first bad commit

说明 这里就是 出现的问题所在的第一次提交,然后分析定位当次修改的内容是那部分造成的,就可以开始修复错误了。

上一篇 下一篇

猜你喜欢

热点阅读