我不确定我需要向Google问什么问题。也许您可以指出正确的方向。
我在我的应用中检测到一个错误,该错误开始发生在AndroidManifest.xml中的一系列versionName属性更改之间。
最后一个可以正常工作的versionName是4.8.1.50,我第一次看到该错误出现的那个是4.8.1.60。
在它们之间进行了许多git提交,影响了不同的文件,有的影响了AndroidManifest,有的则没有。
你们知道我是否可以通过任何方式搜索和过滤所有这些提交?
谢谢。
答案 0 :(得分:2)
您可以使用二进制搜索方法来查找问题开始的确切提交。
正如@Richard在评论中指出的那样,您可以使用git bisect
命令。这是使用它的方法:
git checkout <commit hash>
git bisect start
git bisect bad
git bisect good <commit hash>
git bisect good
标记好的提交,每次使用二进制搜索将HEAD
移到最后一个bad
和good
之间的提交中。 git bisect reset
将存储库恢复为初始状态。因此,您可以在log n
步骤中找到导致错误的提交,其中n
是工作良好的问题与已经可以再现问题的提交之间的初始提交次数。