美文网首页
Git 二分法快速定位问题代码

Git 二分法快速定位问题代码

作者: Match | 来源:发表于2015-04-16 23:52 被阅读1570次

    痛点

    • 通过打印错误信息或者观察现象,都难以找到Bug的由来。
    • Git提交太多,很难一一验证。

    实例

    1. 开始进行二分法定位。
    $ git bisect start
    
    1. 假设最近一次提交发现问题,将它标记为bad。
    $ git bisect bad
    
    1. 找一个较早的没有问题的版本,标记为good。
    $ git bisect good a67f7
    

    二分查找开始生效,自动定位到两次标记的中间版本。git自动checkout出中间版本,此时可以编译运行以验证好坏。


    可以看到定位问题所需步数
    1. 如果中间版本有问题,标记为bad, 否则good,自动切换到下一个中间版本,再验证,如此往复。


      最后一行就是罪魁祸首,bug第一次出现的提交
    2. 针对最后一行得出的提交id,查看该提交的修改内容,找到问题所在。可以通过以下命令回到初始状态。
    $ git bisect reset
    

    延伸

    高级用法可以查看

    $ man git-bisect
    

    或者参考 http://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git

    相关文章

      网友评论

          本文标题:Git 二分法快速定位问题代码

          本文链接:https://www.haomeiwen.com/subject/zuwhfttx.html