0
点赞
收藏
分享

微信扫一扫

git bisect 二分法查找引入bug的提交

捌柒陆壹 2022-04-26 阅读 86
git

项目解决问题过程中发现引入了新的 bug(原本没有),需要定位引入bug的提交,可以使用git bisect

git bisect <subcommand> <options>

举个例子,编写一个很简单的.c程序,编译通过并将该次提交tag设置为1.00

#include <stdio.h>

int main()
{
	int num1, num2;
	num1 = 1;
	num2 = 2;
	
	printf("The result is %d \n", num1+num2);

	return 0;
}

多次提交之后引入新bug

print("The result is %d \n", num1+num2);

之后再次多次提交。

//  启动
git bisect start
// 将当前状态设置为bad
git bisect bad
// 将tag1.00设置为good,距离当前工作状态有139次提交
git bisect good 1.00

二分法找到中间提交,及提交信息
在这里插入图片描述
简单验证该次提交是否引入bug
如果引入bug将其设置为bad,未引入bug设置为good,继续二分法查找。
也可以设置简单的验证命令行命令来自动查找,比如

git bisect run cl test1.c

二分法查找到中间提交时会自动运行

cl test1.c

找到最初引入bug的提交
在这里插入图片描述

举报

相关推荐

0 条评论