美文网首页
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 二分法快速定位问题代码

    痛点 通过打印错误信息或者观察现象,都难以找到Bug的由来。 Git提交太多,很难一一验证。 实例 开始进行二分法...

  • 利用 git bisect 定位你的 bug

    使用git bisect二分法定位问题的基本步骤: git bisect start [最近的出错的commiti...

  • 问题代码定位神器: Git Bisect

    在用git管理代码的过程中,经常需要回溯代码提交,找到引入问题的初始提交。git bisect用的人不多,但正好能...

  • 使用git bisect快速定位问题

    bisect的原理 我想大部分程序员都碰到过这样一件尴尬的事情,版本某天突然出现了一个莫名其妙的Bug,但是难以定...

  • SonarQube 本地搭建及使用小结

    SonarQube 是一套代码质量管理平台,可以快速定位一系列代码问题或潜在风险,借此提高代码质量。且应用程序通常...

  • git bisect 二分法定位bug

    git bisect 二分法定位bug 适用场景 在开发中会有这样的场景,多次commit之后发现了一个bug, ...

  • xcode设置全局断点调试

    设置全局断点调试:功能: 对于一些简单的闪退问题可以快速定位问题代码。 点击+号,单击Add Symbolic B...

  • android Studio 常用的快捷键

    Ctrl + G : 弹出快速定位框,输入行数,即可快速定位;Ctrl + J : 弹出可简述输入的快捷代码框,如...

  • 50. Pow(x, n)

    问题 Implement pow(x, n). 例子 pow(8, 8)16777216 分析 二分法快速幂 要点...

  • github 403 You must verify you

    小结:androidstudio 发现 git 提交问题,使用 git 原生查看问题,更容易定位到为题,更容易解决...

网友评论

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

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