我有一个 2 年历史的存储库,它最初是一个私有存储库,因此它包含在不同点的历史记录中:密钥文件、加密密钥、不同地方的大量图像集等,在存储库的历史记录中,所有这些都不再被追踪,但仍然存在于历史中。
由于我们引入了新的开发人员,源代码现在变得共享,我想从一个基本干净的存储库开始一个干净的开始。但是,在这个过渡期间,我可能还必须处理旧存储库,在两个存储库之间共享补丁/提交。
在 git 中摆脱以前的历史,同时保持向后兼容性,尽可能干净地在旧存储库和新的干净存储库之间共享提交的能力的最佳方法是什么?
目标:
- 以新存储库中不可用的历史记录的方式进行敏感提交。
- 允许新存储库中的全部功能(克隆、推送、获取,对 git 来说是正常的一切)
- 最大化旧仓库识别来自新仓库的补丁/提交的能力
- [不太重要] 由于工作副本中不存在的古代提交中没有二进制文件,因此使新的 repo 更快。