我该如何为我的.NET解决方案构建Git仓库结构?

5
我有一个.NET解决方案,里面有10个项目。有几种思路:
  1. 对每个项目使用Git存储库,然后对解决方案和子模块使用存储库。因此,每个 .csproj 文件和相关文件都有自己的存储库。
  2. 对整个解决方案使用单个Git存储库。包括 .sln 文件所依赖的所有内容。
看看选项#1,我认为会很困难,因为如果你在一个功能分支上工作,你必须为每个引用的子模块创建一个功能分支。这会产生很多开销。
选项#2似乎更容易处理分支,但是,在一个项目中有大量开发人员的情况下,你可能会遇到很多合并冲突,特别是在处理 .csproj 文件时。
其他.NET开发人员如何管理他们的Git存储库和各种解决方案呢?
2个回答

2

Git仓库应该包含所需的一切。也就是说,克隆一个仓库应该能够带下所有需要处理它的东西。

话虽如此,如果项目足够自包含,可以为它们单独创建一个仓库。它们可以作为子模块(如果需要在解决方案中处理代码)或编译后的dll文件(如果只需要功能)被引入到解决方案中。


这最终是我们如何构建我们的代码库的方式。但是,我们有一个服务项目,我们将其放在一个单独的代码库中。不同的项目虽然属于不同的n层应用程序,但通过同一代码库跟踪。 - Brandon

1
我们把所有的东西都放在一个单一的仓库里,它的设置如下:
主文件夹 --> 所有解决方案文件都在这里 -子文件夹 --> 所有可执行项目 -子文件夹 --> 所有库项目 -子文件夹 --> 所有第三方DLL
因此,如果有人更改了一个库项目,每个引用它的解决方案都指向同一个位置。虽然这样做可能会导致一些额外的开销,因为你总是拉取你可能永远不会使用的代码,但我倾向于喜欢这种方法,因为一切都在一起并且有组织。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接