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 查看当前的状态。






上一篇下一篇

猜你喜欢

热点阅读