Git Bisect

今天做卡的时候,产品找来说,发现一个bug。原本是没有bug的,是因为不知道谁改了以后,出现了这个bug。按照惯例去了github,因为不知道是在哪里出的,所以找起来比较麻烦。恰好,被一个有多年工作经验的同事看到了,然我很快完成了。那就是biset。

这里假设一下,现在有五个个提交,粉笔为1 2 3 4 5 ;5 是距离最近的一次提交,,假设问题处在4上。然后就可以这样了。

在分支上首先输入命令,这是开始: 

git bisect start

 然后因为当前是代码是有错误的,所以打一个错误的标记:

git bisect bad

 又知道1是正确的,所以再打上一个标记:

git bisect good 1

 然后他就会按照他的错误各处一个定位,听同事说是二分法查找,这里可能定位到3 ,然后测试一下,如果正确的话,输入good即可,他会做出判断,或许是已经找到了问题,或许是下一个节点,这里是work的,所以应该打一个bad的标签。然后到4上,发现4是错误的,输入bad这时候他就可以确定是4是错误的,然后输入git diff 4 3 ,可以看出哪里有变化,这样既可以有针对性的去解决这个bug。

最后不要忘了做一个git bisect reset ,因为git 再做bisect的时候,会给提交添加某些信息。这里要把他们清除掉。

 

 

 

 

你可能感兴趣的:(git)