• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用git bisect快速定位引入错误的版本

python 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

现在有个项目,在一天的开发中,被某个工程师引入了一个bug,取系统并发上不去,直接锁死数据库连接。项目使用java

本文来源gao!%daima.com搞$代*!码$网9

平台,在svn上进行版本管理。我不想一个个版本code review排查,就想到了最暴力折半版本查找法,当然,在svn上做意味着要一个个版本checkout出来,这么大的项目,也是很费时的,这时,git-bisect是我唯一的选择了。

首先,把svn库导出为git库:
$ git svn clone -s http://svn.xxx.com/svn/xxxxx
然后,开始git bisect:
$ git bisect start
标记当前版本为错误:
$ git bisect bad
找到前一天的版本,做了一个tag(tag20090106),测试为正确的,标记一下:
$ git bisect good tag20090106
这时git会告诉你选取了一个中间版本,这时就开始编译,测试,如果不通过,执行:
$ git bisect bad
git会用折半方法再向前找一个中间版本,开始编译,测试,如果通过,执行:
$ git bisect good
git将继续定位revision,直到最后定位到一个引入错误的版本,这时再分析原因,再找惹麻烦的工程师PK,PK完了回来收工执行:
$ git bisect reset
git将返回到当前的HEAD.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用git bisect快速定位引入错误的版本
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址