如果能写一个返回 0/非 0 的检查命令,git bisect 不一定要手动一版版试。比如项目里已有测试命令时,可以这样:
git bisect start
git bisect bad HEAD
git bisect good <已知正常的提交>
git bisect run pytest -q tests/test_login.py
Git 会在每个候选提交执行命令,根据退出码继续缩小范围,最后停在疑似引入问题的提交。环境:Git 1.7.1+;检查命令要稳定,别让网络、时间或未固定的外部服务影响退出码。跑完记得 git bisect reset 回到原分支。