使用 git bisect 来抓嫌疑代码

BisectBisect 翻译过来就二分法吧. 学会二分法是很有用的, 特别是对于男生而言, 可以对女生说, 选一个1~64之间的数字, 我猜6次就一定能猜中. 大多数文艺女生会因此对你刮目相看的.

当然那太小儿科了. 一次偶然的机会我从同事那学来了 git bisect 方法, 也就是对代码进行二分法搜索, 从而定位哪一次更改让程序出了问题. 首先在项目的根目录下输入:

$git bisect start

git 便开始二分搜索了. 然后要告诉 git 两个必要条件, 就是搜索的起点和终点. 一般来说, 起点是程序正常工作的某个 commit1, 而终点是程序出问题后的某个 commit2:

$git bisect good HASH_OF_COMMIT1
$git bisect bad HASH_OF_COMMIT2

然后运行程序, 如果结果正常则:

$git bisect good

否则:

$git bisect bad

如此重复, 如果有64个 commit 需要检查的话, 那么只需最多6次就可以找到把事情搞砸的嫌疑代码了.

参考链接: http://git-scm.com/book/en/Git-Tools-Debugging-with-Git

Leave a Reply

Your email address will not be published. Required fields are marked *