(前提是bug可以复现)git bisect :在提交历史中进行二分查找来尽快地确定哪一次提交引入了错误。例如你刚刚推送了一个代码发布版本到产品环境中,对代码为什么会表现成那样百思不得其解。你回到你的代码中,还好你可以重现那个问题,但是找不到在哪里。你可以对代码执行 bisect 来寻找。
首先你运行 git bisect start 启动,然后你用 git bisect bad 来告诉系统当前的提交已经有问题了。然后你必须告诉 bisect
已知的最后一次正常状态是哪次提交,使用 git bisect good [good_commit],当你完成之后,你应该运行 git bisect reset 来重设你的 HEAD 到你开始前的地方,否则你会处于一个诡异的地方.
类似问题:leetcode/
First Bad Version
-
// Forward declaration of isBadVersion API.
-
bool isBadVersion(int version);
-
-
int firstBadVersion(int n) {
-
int low=1;
-
int high=n;
-
while(low<=high)
-
{
-
int mid=low+(high-low)/2;
-
if(!isBadVersion(mid))//如果不是bug版本;
-
{
-
low=mid+1;
-
}
-
else
-
{
-
high=mid-1;
-
}
-
}
-
return low;
-
}
阅读(2848) | 评论(0) | 转发(0) |