Git bisect 命令可以帮助我们在 Git 代码历史中快速定位一个引入问题的提交,从而找到正确的提交。
具体操作步骤如下:
使用 git bisect start 命令开始 Bisect 的过程。
标记当前版本为错误版本(即测试失败的版本),使用 git bisect bad 命令进行标记。
标记之前已知的一个没有问题的版本(一般是最近的版本),使用 git bisect good
Git 会自动 checkout 到一个需要测试的提交,并提示运行测试。
如果测试通过,可以用 git bisect good 命令告诉 Git 当前的提交是“良好的”,如果测试失败,则用 git bisect bad 命令告诉 Git 当前的提交是“有问题的”。
Git 按照二分法依次检查落在中间的提交,然后让你测试它,并重复此过程直到找到导致测试失败的提交。
最后使用 git bisect reset 命令退出 Bisect 模式并恢复到最初状态。
Bisect 命令的关键字:
git bisect start
开始 Bisect 的过程。
git bisect bad
标记当前版本为错误版本。
git bisect good <commit>
标记之前已知的一个没有问题的版本
git bisect good
当前提交是“良好的”
git bisect bad
当前提交是“有问题的”
git bisect reset
退出 Bisect 模式并恢复到最初状态。