git bisect是一个很有用的命令,用来查找哪一次代码提交引入了错误。
- 它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位。所谓”两分法”,就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。
- 首先,进入错误了的目录检查一下代码提交历史
git log --pretty=oneline
git bisect start
命令启动查错,它的格式如下:git bisect start [终点] [起点]
起点终点是哈西马值,它会定位到中间位置,不断测试,没错标记git bisect good
之后继续二分查找,直到找到错误加git bisect bad
这时,Git 会给出如下的提示:错误处的哈希马值 is the first bad commit
,既然找到了错误,那我们就可以使用git bisect reset
退出查错,去修改错误就ok。
- 首先,进入错误了的目录检查一下代码提交历史