我正在寻找针对 repo 的 git 存储库集合的 android 系统 (AOSP) 日常构建之间的可重复性以及使用快进合并的影响。
问题在于,在进行日常构建时,您会在其他地方进行开发时获得树梢。如果在推送更改时 HEAD 没有更改,它将进行快进合并并重写时间。因此,3 天前存储库的物理状态实际上与要求 git 返回 3 天不同。
我能看到的主要解决方案是使用带有 --no-ff 的 git 来强制合并提交。这为较小的提交注入了很多噪音,并且似乎被认为是保持干净树的不好做法。
这方面的背景是试图在 android 构建环境中具有可重复性。对于那些不知道的人,一个 android 构建是一个不同的 git 存储库的集合。我的最终用例是我想说,将代码库置于 3 天前开发人员的状态。通过快进合并,我们丢失了一些关于如何关联多个 repo 项目(即:git 存储库)的更改的关键信息。