我有一个基于 .NET 的大型项目,其中包含超过 20 个单独的不同解决方案,每个解决方案代表更大系统中的不同模块。在每个解决方案中都有许多项目。
我们目前在一个 Git 存储库中处理所有解决方案,因为它们属于一起,并且到目前为止对我们来说效果很好。然而,现在我们想开始使用 CI 服务器来构建和测试修改。然而,这是开始变得毛茸茸的地方。我不能让 CI 服务器构建完整的解决方案,而只能构建已更改的组件。在 SVN 中,我们可以通过一个 repo 来实现这一点,并限制 CI 服务器的不同配置以监听不同的路径 - 例如,“src/ModuleA”是一个构建和配置,“src/ModuleB”是另一个。
我在 Git 中有哪些选择,什么是最佳实践?他们的优缺点是什么?我很想指出一个更大的开源解决方案,它具有类似的设置作为答案的一部分。
- 我想我可以将每个模块都放在自己的仓库中?但是,当涉及到在 GitHub 等上托管时,这是一个问题,因为他们通过 repo 收费......否则这会是最好的选择吗?
- Git 子模块会起作用吗?这是子模块的正确用途吗?
- 您是否知道 CI 产品中可以通过某种方式帮助解决此场景的其他选项?