假设我们有一个包含单元测试的代码库,但是 - 常常会这样 - 它们并不完整。在某个版本中,我们发现某个功能无法正常工作,但我们知道在之前的某个版本中它是可行的。不幸的是,该功能没有通过单元测试进行检查。现在我想做的是:
1.编写测试用例(当然一开始会失败)
2.使用 git bisect 使用此测试用例寻找引入错误的提交
3.纠正错误并提交修复(以及测试用例)
这种用例有一个问题。由于 git bisect 检出旧版本,所以刚插入的测试用例不会存在,因此我无法使用它来检查错误。我可以尝试不提交测试,而将其保留为本地更改。但是,如果在某个版本中更改了测试文件,那么我可能会遇到合并冲突。
那么该怎么办?git bisect 通常如何使用?