痛点
前两天还好好的功能,怎么这个今天就不行了?这两天改动了很多代码,到底是那一次改动引发的 Bug?无从查起……
解决办法
Git提供的bisect这一命令,就是二分法查找快速地在提交中定位 Bug,少则几次,多则十几次就会定位到引入Bug的提交.
二分查找
举个例子:
一个人在1到100的数字中随意选择一个,另外一个人来猜,比起一个挨着一个地猜,懂得折半查找的人总是获胜者。
命令使用
1 | git bisect 其实很简单,主要是基于几个基本命令: |
操作步骤
1. 查看提交记录
1 | # git log |
2. 开启二分查找
1 | # git bisect start |
3. 找出一个好的提交版本进行标记
1 | # git bisect good a2de6 |
4. 标记bad版本
1 | # git bisect bad |
当完成对一个好版本和一个坏版本的标记后,Git切换到一个中间版本(5be11),并告诉我们大概需要1步可以找到元凶。
5. 继续标记版本
1 | # git bisect good 5be11 |
6. 再来一步
1 | # git bisect bad |
这样元凶就找到了,查看你的提交记录是不是改动了什么东西吧!!!