有 3 个项目,每个项目都有自己的 git repo:
- 项目A,独立于B的项目
- 项目 B , 一个独立于 A 的项目
- 项目 AB,一个使用一些 A 和一些 B 的项目。源、文件结构等的合并,并进行了一些修改以允许两者正确混合。
项目 A 和项目 B 大多已死,但在 AB 创建后确实收到了一些小补丁,其中一些后来被移植到 AB。AB 的 git 存储库是在没有来自 A 或 B 的历史的情况下创建的。我很容易分辨出哪个文件或目录来自 A,哪个来自 B,而且我知道每个初始文件来自哪个提交。
假设 AB 中的所有文件都基于来自 A 或 B 的文件,我如何在初始化之前恢复 AB 的历史记录?
请记住以下几点:
- 来自 A 的文件可能位于类似 B 的目录中,反之亦然,所以我应该能够处理移动
- 在某些时候,我想重新定位 AB 的移植补丁,以便将它们归因于 A 或 B 的合并。
- 我希望 A 或 B 能够合并 AB,尽管只有其中一个能够做到这一点是可以的,只要我可以控制哪一个。
- 大约有 30-50 个文件,所以我仍然可以为每个文件重新设置基准,如果我不必这样做,那将是首选。