做客户通的过程中,拉完代码重试发现页面出现错误这样的错误,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是一个二分查找工具,它帮助开发者在大量提交中找到导致特定问题的第一个错误提交。当项目中有许多改动,而你不清楚哪个改动导致了问题时,Git Bisect能节省大量时间。其基本流程包括以下几个步骤:...
git bisect就像一个二分查找算法,帮助我们快速缩小问题范围。它将整个提交历史分为两半,然后测试中间的提交是否引入了问题。如果中间提交没有问题,那么问题存在于更早的提交中;反之,问题则出现在之后的提交中。...
- `git bisect visualize` 可视化二分查找过程。 - `git bisect reset` 重置二分查找状态。 以上是对Git Cheat Sheet中提到的主要命令的详细介绍。熟练掌握这些命令对于高效地使用Git进行版本控制至关重要。希望...
文章目录场景命令实战原理 场景 当线上有 bug 需要排查 ...#开始二分查找 git bisect start #标注当前这个commit是有bug的 git bisect bad #标注commit为xxx的是有bug的commit git bisect bad commitID #标注commit为xx
- `git bisect start`: 开始二分查找。 - `git bisect bad`: 标记已知包含bug的提交。 - `git bisect good`: 标记已知不含bug的提交。 - `git bisect next`: 自动检出可能引入bug的提交。 #### 四、常见问题...
- **bisect**:二分查找法找出引入错误的提交。 - **revert**:创建一个新的提交来撤销之前的提交。 通过阅读《Git权威指南》和《Pro Git简体中文版》,你可以系统学习并掌握以上这些Git知识,无论你是初学者还是...
- **使用Git调试**:通过`git bisect`等命令追踪引入问题的提交。 - **子模块**:将一个独立的Git仓库作为另一个仓库的一部分进行管理。 - **子树合并**:整合其他仓库的特定部分到当前仓库。 #### 七、自定义Git -...
Ruby社区为Git提供了一个强大的工具——`git-auto-bisect`,它可以帮助我们高效地进行二分查找,从而找出破坏主分支(master)的提交。 Git是一个分布式版本控制系统,它允许开发者跟踪代码的每一次变化,这对于...
- **bisect**:二分查找法帮助找到引入问题的提交。 通过深入阅读"Git权威指南",你可以全面了解Git的各种操作,无论你是初学者还是经验丰富的开发者,都能从中受益,提升你在Git上的技能。这本书会详细讲解每个...
- **使用bisect找到回归**:`git bisect`用于二分查找引入问题的提交。 - **命名提交**:通过SHA-1哈希值或别名引用提交。 - **创建标签**:`git tag`用于标记特定版本。 - **浏览修订**:`git log`展示提交历史...
9. **bisect**:Git的二分查找功能`git bisect`可以帮助快速定位引入问题的提交,节省大量调试时间。 10. **工作流策略**:除了前面提到的git flow,还有GitLab Flow、Forking Workflow等不同的工作流模式,选择...
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...
- ** Bisect**:二分查找工具,用于快速定位引入错误的提交。 通过阅读《蒋鑫Git权威指南》,读者可以深入理解Git的工作流程,掌握高效使用Git的技巧,无论是个人项目还是团队协作,都能游刃有余。书中的实例和...
- ** Bisect**:二分查找bug引入的提交。 6. **Git与其他工具的集成**: - **IDE集成**:许多集成开发环境(如Visual Studio Code, IntelliJ IDEA)支持内置的Git工具,提供图形化的操作界面。 - **持续集成/...
- `git bisect start`: 开始二分查找。 - `git bisect good <commit>`: 标记一个好的提交。 - `git bisect bad <commit>`: 标记一个坏的提交。 **6.6 子模块** - **添加子模块**: - `git submodule add <url> ...
- `git bisect`:二分查找的方式定位缺陷引入的提交点。 - **补丁移植**: - `gitcherry-pick`:从其他分支提取单个提交并应用到当前分支。 - **仓库检查**: - `git fsck`:检查仓库的完整性。 - **垃圾回收**:...
- **bisect**:二分查找法找出引入问题的提交。 张果Coding的教程详细解释了这些概念,并通过实例演示如何在Visual Studio中使用Git,帮助开发者高效地管理和协同开发项目。无论你是初学者还是有经验的开发者,都...
在版本回溯部分,读者将了解到如何利用`git log`、`git blame`和`git bisect`来追踪代码变更、查找问题源头和进行二分查找。此外,Git的标签功能(`git tag`)也将在这一章中进行介绍,用于标记特定版本或里程碑。 ...
以上只是Git众多命令的一部分,实际使用中还有更多高级特性,如stashing(暂存区)、rebase(变基)和bisect(二分查找错误)。通过阅读《Git常用命令.pdf》这份文档,你可以更深入地学习和掌握这些命令,无论你是...
此外,Git 2.16.2可能还包括对其他特性如Stash、bisect(二分查找)和rerere(冲突解决重用)的改进。Stash功能可以让开发者临时保存未完成的工作,然后回到之前的代码状态。Bisect命令帮助定位代码中的错误,而...