git bisect
2019-05-09 本文已影响0人
一片冰心一生平安
git bisect 找出最早的一次错误提交
//找出'最近的提交','更久以前的提交'
git log
//终点"是最近的提交---测到bad为止,"起点"是更久以前的提交--从good开始测
git bisect start [终点] [起点]
//接下来,不断重复
测试代码,
如果正常 使用git bisect good命令,标识本次commit没有问题
测试代码,
如果异常 使用git bisect bad命令,标识本次commit有问题
直到打印
c413078ca1af44c467fbcbc29447af26815a1d35 is the first bad commit
git bisect reset
//查看错误commit对象
git show 5a97a20
//查看当前头指针
git status
git bisect log
想要擦除之前的标记状态,假如对 v5 进行 bad 的这个标记错了:
1.
git bisect log > log.txt
2.
对v5进行bad的标记错了,把这个操作之下的 Log 全部删除掉,然后执行
git bisect replay log.txt
--------------------------------
git bisect start
准备进行 bisect debug
git bisect good commit_num
标记一个提交为 "good"
git bisect bad commit_num
标记一个提交为 “bad”
git bisect reset
退出 bisect debug 的状态
当标记正确的和错误的提交之后,git bisect 立刻就可以帮我们定位出中间提交,
(二分法:(good+bad)/2, 向下取整)
现在 HEAD 就已经指向了中间提交的代码了,这个可以使用 git status 查看当前的状态。