我们使用 Visual Studio 2010(C#)进行开发,不久前从 SVN 迁移到 GIT。现在,我们尝试将我们的存储库(相当大 - 约 30.000 个文件)拆分为许多 git 存储库 - 每个解决方案一个。
这些解决方案共享一些项目,主要是我们内部开发的库,并且喜欢从所有解决方案中添加到其中。
新的存储库采用平面布局。每个项目一个子目录(共享项目是子模块)。
在大型旧仓库中,项目采用树形结构。
子模块中的外部引用会出现问题。在新的存储库中,引用项目的路径可能是“......libs\someproject”,而在新布局中,正确的路径将是“..\someproject”。
我们已经对此进行了一些编辑大战,并且不热衷于更多。
我能想到的半生不熟的解决方案:
在 ...csproj.user 中使用“参考路径”,并从版本控制中排除此文件(必须为每个开发人员以及每次 reopsitory 清理后重做)
针对每种情况使用分支,并尝试教每个人“真正的”提交应该去哪里以及“环境更改”提交应该去哪里(子模块已经不是最简单的概念......)
嵌入二进制文件而不是子模块(但是对子模块进行更改怎么样?不同的 log4net 版本怎么样?)
有谁知道一个明智的解决方案?
既然您要求一个合理的解决方案,我只能建议您考虑建立自己的 NuGet 服务(查看http://www.MyGet.org http://www.MyGet.org寻求灵感)
http://nuget.codeplex.com/ http://nuget.codeplex.com/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)