我有一个.NET解决方案,其中包含10个项目。
有几种思维方式:
.csproj
文件和从属文件都有自己的存储库。.sln
文件依赖的所有内容。查看选项#1,我认为如果你正在开发一个功能分支就很困难,你必须为每个引用的子模块创建一个功能分支。它会产生很多开销。
选项#2似乎更容易处理分支,但是,对于项目中的大量开发人员,您可能会遇到相当多的合并冲突,尤其是在处理.csproj
文件时。 p>
其他.NET开发人员如何使用各种解决方案管理他们的Git存储库。
答案 0 :(得分:2)
git存储库应该包含所需的一切。也就是说,克隆存储库应该删除使用它所需的一切。
那就是说,如果这些项目是自给自足的,可以独立存在;给他们自己的存储库。然后可以将它们作为子模块(如果在处理解决方案时需要代码)或作为编译的dll(如果只需要功能)引入解决方案。
答案 1 :(得分:1)
我们将所有内容放在一个像这样设置的单一存储库中
Main folder --> All solution files here -Sub Folder --> All executable projects -Sub Folder --> All library projects -Sub Folder --> All 3rd party DLLs
因此,如果有人正在更改库项目,那么引用它的每个解决方案都指向同一个地方。所有事情都在一起组织起来,我想它会带来一些额外的开销,因为你总是会拉下你可能永远不会使用的代码,但我倾向于喜欢这种方法。