Git Bisect - Git Commit 故障排查利器使用详解
在软件开发过程中,我们会突然遇到代码仓库中的某个功能突然不工作了,却不知道是哪个提交引入的错误。这时,git bisect 就是我们的利器。
下面将探讨 git bisect 的使用技巧,更高效地定位和解决问题。
什么是 Git Bisect
git bisect 是 Git 分布式版本控制系统中的一个非常有用的命令,它通过一个二分查找的过程来确定引入错误的具体提交,这个过程可以显著减少查找错误的时间。
Git Bisect 使用 的基本步骤:
首先,你需要确定一个已知的错误提交(当前发现错误的提交的Commit ID)和一个已知的好提交(代码能正常工作的提交的Commit ID)。
然后,使用 git bisect start 命令开始 bisect 过程
启动Git bisect
git bisect start ## 开始 bisect 用git bisect标记
告诉Git哪个是已知的错误的和好的提交
git bisect bad # 标记当前已知的错误的提交
git bisect good [good_commit_hash] # 标记已知的好的提交检查中间提交
Git 将自动检查出位于好和坏提交之间的中间提交,然后需要手工检查这个中间提交是否正常工作
make && ./test # 检查当前的中间提交标记结果,缩短区间
根据测试结果,确定错误范围,再次使用 git bisect good 或 git bisect bad 来标记新的好的或错误的提交范围。
重复上述二分查找,直到找到引入错误的那个提交。
结束 Bisect 过程
当找到错误的提交后,可以使用 git bisect reset 结束 bisect 过程,并返回到原始的起点
git bisect reset