android - 通过 Android versionName 搜索 git 提交

标签 android git version-control git-commit

我不确定我需要向谷歌询问什么问题。也许您可以为我指明正确的方向。

我在我的应用程序中检测到一个错误,该错误开始发生在我的 AndroidManifest.xml 中的一系列 versionName 属性更改之间。

最后一个工作正常的版本名称是 4.8.1.50,我第一次看到错误出现的版本是 4.8.1.60。

许多 git commits 发生在这两者之间,影响不同的文件,一些影响 AndroidManifest,其他的则没有。

你们知道有什么方法可以搜索和过滤所有这些提交吗?

提前致谢。

最佳答案

您可以使用二进制搜索方法找到问题开始的确切提交。

正如@Richard 在评论中指出的那样,您可以使用 git bisect命令。这是使用它的方法:

  1. 移动到一个肯定被破坏的提交:git checkout <commit hash>
  2. 开始搜索过程:git bisect start
  3. 并说这个提交是“坏的”:git bisect bad
  4. 标记一个肯定不包含问题的提交:git bisect good <commit hash>
  5. 然后使用 git bisect good 重复标记好的提交, 每次 HEAD将移动到最后一个 bad 之间的中间提交和 good使用二进制搜索。
  6. 当您发现问题时,请使用 git bisect reset将 repo 返回到初始状态。

因此,您可以在 log n 中找到导致错误的提交步骤,其中 n是工作良好的提交和问题已经可重现的提交之间的初始提交数。

关于android - 通过 Android versionName 搜索 git 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965908/

相关文章:

git - "Too many revisions"git 消息

git - 拒绝 git push

git -- 处理卡住的内容

android - Android 中的 GZip

android - 如何为安卓应用找到 "Keytool"

android - 无法显示来自存储在 mysql 数据库中的坐标的 google maps android 标记

svn - 保护文件免受SVN提交

android - Android.mk中 "call"的 "LOCAL_PATH := $(call my-dir)"是什么?

python - docker python 图像中的 Git 存储库

version-control - 错误编号注释