zoukankan      html  css  js  c++  java
  • 三分钟教你学Git(十三)

    比方说你收到了错误报告,然后你知道前几天明明是好的。可是这几天有好多新的commit被部署了。那么我们怎么迅速的找到第一个引入Bug的commit呢?


    我们能够使用git bisect,git利用二分查找法迅速找到第一个坏的commit,下边看看详细怎么用就明确了。


    我们首先告诉git我们要開始binary search了。

    # git bisect start

    然后我们告诉git当前的commit是一个坏的提交。

    #git bisect bad

    然后我们再告诉git我们已知的一个好的提交,这样子git就知道開始和结束的位置了,然后git会reset到中间的commit。

    #git bisect good ad5e0

    这时候我们就位于中间到一个commit。我们能够编译执行看看执行结果。假设是好的。我们告诉git是好的。

    #git bisect good

    这时候git会在后半段中找到还有一个中间commit,然后reset到此commit。我们编译执行看看执行结果。假设是坏的,我们告诉git是坏的。

    #git bisect bad

    就这样,你能够在lg(n)次找到第一个坏的commit。git找到后会给你打印出此commit的信息。


    我们找到这个commit之后,不要忘记退出bisect。

    # git bisect reset


    我们能够看到尽管比較方便。但还不是全自己主动的,假设你能够写一个脚本执行当前的程序,假设验证正确返回0,验证错误返回1。那么此过程就能够全然自己主动,git能够帮你自己主动找出第一个坏的commit。


    # git bisect start bad_commit good_commit

    # git bisect run test-error.sh


     

    原文:http://blog.csdn.net/hongchangfirst/article/details/45536701

    作者:hongchangfirst

    hongchangfirst的主页:http://blog.csdn.net/hongchangfirst




  • 相关阅读:
    WINDOWS SERVER 2008 RD服务器搭建
    EXCEL技巧——SUBTOTAL函数巧妙应用
    快速理解几种常用的RAID磁盘阵列级别
    有道云笔记去除左下角广告
    git教程
    .Net导出pdf文件,C#实现pdf导出
    时间控件只显示年月
    C#中日期和时间相加的方法
    JS获取当前时间
    六大设计原则
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6766886.html
Copyright © 2011-2022 走看看