【发布时间】:2017-03-08 20:50:10
【问题描述】:
让我们考虑以下场景来简化问题。
我正在处理存储在 三个不同的 Git 存储库中的 三个 C++ 项目。所有项目都需要存在于单独的存储库中,因为它们在开发过程中需要独立。
- 项目 1
- 项目 2
- 通用代码项目
要编译项目 1,您需要 Common Code 版本 1(例如旧版本)。 要编译项目 2,您需要 Common Code 版本 2(例如较新的版本)。
有时您希望将公共代码项目作为一个独立项目(一种独立共享库),编译它,进行测试,并可能推进新版本、分支等。
项目 1 和 2 将保留他们的故事,并且他们可能需要不同的旧版本的通用代码进行编译,即使 通用代码在其个人故事中进步。
我需要在同一天在同一台机器上多次切换完成所有项目,因此工作模型不能太复杂以避免错误或问题。 p>
我是否应该使用 3 个并行存储库 在 编译时 解决对版本的编译依赖性(例如,通过签出正确的版本编译前的回购)?还有其他更好的解决方案(例如Git Submodules)吗?
【问题讨论】: