Git二分查找,定位问题提交
来源:互联网 发布:拙心网络 怎么样 编辑:程序博客网 时间:2024/04/29 14:44
比如说你收到了错误报告,然后你知道前几天明明是好的,但是这几天有好多新的commit被部署了,那么我们怎么迅速的找到第一个引入Bug的commit呢?
我们可以使用git bisect,git利用二分查找法迅速找到第一个坏的commit,下边看看具体怎么用就明白了。
我们首先告诉git我们要开始binary search了。
# git bisect start
然后我们告诉git当前的commit是一个坏的提交。
#git bisect bad
然后我们再告诉git我们已知的一个好的提交,这样子git就知道开始和结束的位置了,然后git会reset到中间的commit。
#git bisect good ad5e0
这时候我们就位于中间到一个commit,我们可以编译运行看看运行结果,如果是好的,我们告诉git是好的。
#git bisect good
这时候git会在后半段中找到另一个中间commit,然后reset到此commit,我们编译运行看看运行结果,如果是坏的,我们告诉git是坏的。
#git bisect bad
就这样,你可以在lg(n)次找到第一个坏的commit。git找到后会给你打印出此commit的信息。
我们找到这个commit之后,不要忘记退出bisect。
# git bisect reset
我们可以看到虽然比较方便,但还不是全自动的,如果你可以写一个脚本运行当前的程序,如果验证正确返回0,验证错误返回1,那么此过程就可以完全自动,git可以帮你自动找出第一个坏的commit。
# git bisect start bad_commit good_commit
# git bisect run test-error.sh
1 0
- Git二分查找,定位问题提交
- git bisect 二分查找有问题的提交
- Git bisect 二分查找, 确定问题版本
- Git 查找提交
- git 二分查找 (git bisect)
- 折半,二分查找问题
- 折半,二分查找问题
- 二分查找小问题
- 经典二分查找问题
- 经典二分查找问题
- 经典二分查找问题
- 经典二分查找问题
- 二分查找问题
- Git提交GitHub问题
- git提交、更新问题
- git log查找某一个author的提交
- 12.开源项目--git提交查找
- 二分查找引出的问题
- KUDU对表操作
- 【abap】编程时,通过结构structure中的字段,如何找到对应的透明表
- 可直接执行的脚本放到crontab中就不执行了
- struts2 S2-045漏洞
- svn
- Git二分查找,定位问题提交
- BootStrap积累
- UVa11988
- C#连接Oracle数据库(直接引用dll使用)
- SQLServer 存储过程 带事务处理实例(三)
- Sublime
- CSS代码的命名惯例
- android camera调试命令
- java中正则表达式