git bisect

通过二分法在提交历史中快速定位引入 bug 的那次提交

语法

git bisect <subcommand> [<options>]

参数

参数说明示例级别
start 开始二分查找 常用
bad [<rev>] 标记当前或指定提交为有问题的 常用
good [<rev>] 标记当前或指定提交为正常的 常用
reset 结束二分查找,回到原始分支 常用
run <script> 自动化二分查找,用脚本判断好坏 常用

示例

开始二分查找:当前有 bug,v1.0.0 正常

git bisect start
git bisect bad HEAD
git bisect good v1.0.0
Bisecting: 12 revisions left to test

测试后标记当前检出的提交为正常

git bisect good

测试后标记当前检出的提交为有问题

git bisect bad

查找结束,回到原来的分支

git bisect reset

自动运行测试脚本来判断每个提交的好坏

git bisect run npm test

技巧

相关命令