我们正在开发一个内部框架,多个项目将使用该框架。这个想法是将整个框架作为每个项目存储库的可变子存储库进行跟踪。这导致了以下子存储库树(请参阅瘦壳存储库):
ProjectMaster/
Project/
CommonLib/
FrameworkMaster/
Framework/
CommonLib/
- 这对你有意义吗?是否有更好/更简单的方法来处理这些不涉及子存储库的依赖项?
- 具体来说,拥有两个 CommonLib 子存储库是否有意义?
- 如果没有,Project 使用 FrameworkMaster/CommonLib 是否有意义?如果依赖关系更复杂,这可能会变得混乱。
- 你会在哪里打开功能分支?上主?仅在相关的子存储库中?
- 如果您在主服务器上没有功能分支,则每次克隆存储库时,您最终都会获得最后一次提交的子存储库状态,这可能会将任何子存储库放在任何随机功能分支中。很混乱。
- 如果你在 master 上有特性分支,你仍然需要在至少一个 subrepo 中有一个特性分支,以避免在那里有未命名的头。
一般来说,这个解决方案听起来很难使用。有什么建议么?