我们的项目有一个私有的 Git 存储库,我们目前在子文件夹中有另一个众所周知的存储库 - 作为子存储库(使用https://github.com/ingydotnet/git-subrepo)。当知名 repo 的新版本可用时,我们希望将它包含在我们的 repo 中。但是,我们在子文件夹中做了一些与我们相关的更改。我们不想将我们的更改提交到众所周知的 repo,但我们也不想丢失它们 - 我们希望将它们与新版本合并。
目前使用“git surepo”我没有看到非手动的方式来做到这一点。没有正确的方法将子存储库升级到一个版本 - 可以在没有分支或标签的情况下拉出主库,但要拉出标签,唯一的选择是从头开始,因此必须删除子存储库目录,显然,删除我们所有的更改。
我们已经研究了 subrepo 的其他替代方案,但如果它们在这种情况下工作,它们似乎并没有让生活变得更好。他们之中有一些是:
- 手动添加更改是最后的手段
- 有一个单独的存储库(由于这个项目的具体情况,我们试图避免它,而且显然更难维护)
- git submodule 并没有让它变得更好,并增加了其他问题
- git fork 是可能的,但是需要做很多工作才能到达那里并且非常复杂
我希望我已经把问题说清楚了。请问这里有什么想法吗?