如果能写一个失败时返回非 0 的小脚本,定位是哪次提交引入回归时可以让 Git 自动二分:
git bisect start
git bisect bad HEAD
git bisect good v1.2.0
git bisect run ./scripts/check-regression.sh
check-regression.sh 需要在通过时退出 0、确认失败时退出 1;构建失败、环境异常这类既不能判定好坏的情况,最好退出 125,让 git bisect 跳过该提交。脚本里可以先执行固定的测试命令,例如 go test ./... 或 pytest -q tests/test_login.py,但要保证依赖和测试数据可重复。结束后用 git bisect reset 回到原分支。环境:Git 2.25+;只适合工作区能自动构建和验证的回归问题。