`
wangsuting
  • 浏览: 29821 次
社区版块
存档分类
最新评论

用git bisect 二分查找找错误提交

    博客分类:
  • git
git 
阅读更多
做客户通的过程中,拉完代码重试发现页面出现错误这样的错误,uninitialized constant CustomerService::WeixinResponseErrorMatch,之后2哥教了一种用git bisect 二分查找定位错误提交的方法。
1.列出最近提交的各个版本号
git log

然后找到近期一个没有错误的版本号留用
2.在crm分支下的kehutong下面执行
git bisect start 

开始二分查找,当前这个版本是有错误的,所以执行以下命令
git bisect bad

3.将代码恢复到刚来留用的没有错误的版本:
git checkout  841f39b6fee669f24432b30c7241dfe78204d9bf

git bisect good 

4.刷新一下页面,如果错误不存在了
git bisect good 

如果错误依然存在,那么执行
git bisect bad

在这个过程中,会根据提交的good或是bad实现二分查找。
重复第4步,直到找到出错误的提交。
5.找到问题后,恢复到之前的版本
git bisect reset


分析之后发现不是提交的问题,而是本地问题,执行
bundle install&&rake db:migrate&&rails s
即解决了问题



分享到:
评论

相关推荐

    git-bisect-sample:样本回购遵循git bisect教程

    首先,Git Bisect是一个二分查找工具,它帮助开发者在大量提交中找到导致特定问题的第一个错误提交。当项目中有许多改动,而你不清楚哪个改动导致了问题时,Git Bisect能节省大量时间。其基本流程包括以下几个步骤:...

    git-bisect-demo:一个用于说明git bisect用法的仓库

    git bisect就像一个二分查找算法,帮助我们快速缩小问题范围。它将整个提交历史分为两半,然后测试中间的提交是否引入了问题。如果中间提交没有问题,那么问题存在于更早的提交中;反之,问题则出现在之后的提交中。...

    git-cheetsheet

    - `git bisect visualize` 可视化二分查找过程。 - `git bisect reset` 重置二分查找状态。 以上是对Git Cheat Sheet中提到的主要命令的详细介绍。熟练掌握这些命令对于高效地使用Git进行版本控制至关重要。希望...

    开发工具: git 13、使用二分法查找哪一次提交引入了线上bug

    文章目录场景命令实战原理 场景 当线上有 bug 需要排查 ...#开始二分查找 git bisect start #标注当前这个commit是有bug的 git bisect bad #标注commit为xxx的是有bug的commit git bisect bad commitID #标注commit为xx

    git命令学习并实践总结

    - `git bisect start`: 开始二分查找。 - `git bisect bad`: 标记已知包含bug的提交。 - `git bisect good`: 标记已知不含bug的提交。 - `git bisect next`: 自动检出可能引入bug的提交。 #### 四、常见问题...

    git电子书(Git权威指南&Pro Git简体中文版)

    - **bisect**:二分查找法找出引入错误的提交。 - **revert**:创建一个新的提交来撤销之前的提交。 通过阅读《Git权威指南》和《Pro Git简体中文版》,你可以系统学习并掌握以上这些Git知识,无论你是初学者还是...

    Git使用手册中文版

    - **使用Git调试**:通过`git bisect`等命令追踪引入问题的提交。 - **子模块**:将一个独立的Git仓库作为另一个仓库的一部分进行管理。 - **子树合并**:整合其他仓库的特定部分到当前仓库。 #### 七、自定义Git -...

    Ruby-gitautobisectFindthecommitthatbrokemaster

    Ruby社区为Git提供了一个强大的工具——`git-auto-bisect`,它可以帮助我们高效地进行二分查找,从而找出破坏主分支(master)的提交。 Git是一个分布式版本控制系统,它允许开发者跟踪代码的每一次变化,这对于...

    Git权威指南 (git学习权威书籍)

    - **bisect**:二分查找法帮助找到引入问题的提交。 通过深入阅读"Git权威指南",你可以全面了解Git的各种操作,无论你是初学者还是经验丰富的开发者,都能从中受益,提升你在Git上的技能。这本书会详细讲解每个...

    git详细用户手册

    - **使用bisect找到回归**:`git bisect`用于二分查找引入问题的提交。 - **命名提交**:通过SHA-1哈希值或别名引用提交。 - **创建标签**:`git tag`用于标记特定版本。 - **浏览修订**:`git log`展示提交历史...

    Git权威指南PDF完整版

    11.4.6 二分查找:git bisect/ 152 11.4.7 获取历史版本/ 156 第12章 改变历史/ 157 12.1 悔棋/ 157 12.2 多步悔棋/ 159 12.3 回到未来/ 161 12.3.1 时间旅行一/ 162 12.3.2 时间旅行二/ 167 12.3.3 时间旅行三/ 171...

    git高级.rar

    9. **bisect**:Git的二分查找功能`git bisect`可以帮助快速定位引入问题的提交,节省大量调试时间。 10. **工作流策略**:除了前面提到的git flow,还有GitLab Flow、Forking Workflow等不同的工作流模式,选择...

    蒋鑫Git权威指南带书签完整版

    - ** Bisect**:二分查找工具,用于快速定位引入错误的提交。 通过阅读《蒋鑫Git权威指南》,读者可以深入理解Git的工作流程,掌握高效使用Git的技巧,无论是个人项目还是团队协作,都能游刃有余。书中的实例和...

    Git-2.19.2-64-bit&&&git;-master

    - ** Bisect**:二分查找bug引入的提交。 6. **Git与其他工具的集成**: - **IDE集成**:许多集成开发环境(如Visual Studio Code, IntelliJ IDEA)支持内置的Git工具,提供图形化的操作界面。 - **持续集成/...

    pro git 完整、完美中文版...

    - `git bisect start`: 开始二分查找。 - `git bisect good <commit>`: 标记一个好的提交。 - `git bisect bad <commit>`: 标记一个坏的提交。 **6.6 子模块** - **添加子模块**: - `git submodule add <url> ...

    git-cheat-sheet.pdf

    - `git bisect`:二分查找的方式定位缺陷引入的提交点。 - **补丁移植**: - `gitcherry-pick`:从其他分支提取单个提交并应用到当前分支。 - **仓库检查**: - `git fsck`:检查仓库的完整性。 - **垃圾回收**:...

    Git 版本控制 张果 Coding 教学 详细 清晰 VS

    - **bisect**:二分查找法找出引入问题的提交。 张果Coding的教程详细解释了这些概念,并通过实例演示如何在Visual Studio中使用Git,帮助开发者高效地管理和协同开发项目。无论你是初学者还是有经验的开发者,都...

    Git权威指南

    在版本回溯部分,读者将了解到如何利用`git log`、`git blame`和`git bisect`来追踪代码变更、查找问题源头和进行二分查找。此外,Git的标签功能(`git tag`)也将在这一章中进行介绍,用于标记特定版本或里程碑。 ...

    git常用命令

    以上只是Git众多命令的一部分,实际使用中还有更多高级特性,如stashing(暂存区)、rebase(变基)和bisect(二分查找错误)。通过阅读《Git常用命令.pdf》这份文档,你可以更深入地学习和掌握这些命令,无论你是...

    git-2.16.2

    此外,Git 2.16.2可能还包括对其他特性如Stash、bisect(二分查找)和rerere(冲突解决重用)的改进。Stash功能可以让开发者临时保存未完成的工作,然后回到之前的代码状态。Bisect命令帮助定位代码中的错误,而...

Global site tag (gtag.js) - Google Analytics