我对应该如何处理我的问题做了很多研究,但我似乎无法掌握我想做什么。更重要的是,我需要创建一个团队其他成员能够相对轻松地遵循的解决方案。我尝试过的解决方案适用于单个开发人员,但会在团队成员之间造成混淆。
我目前有一个像这样的分支结构:
- 项目名称
- 主要
- 演示项目
- DemoEntityFramework
- 质量保证
- 演示项目
- DemoEntityFramework
- 开发
- 演示项目
- DemoEntityFramework
- 主要
我想拉出 DemoEntityFramework 并以相同的方式对其进行分支,Main/QA/Dev。我需要它分支的原因是因为分支之间的数据库结构不同是很常见的。因此,当指向 EntityFramework 的 PROD 版本时,QA 将无法正确构建。将其移除的另一个原因是因为我有其他依赖相同框架的项目,我可以重用该库,而不必在这些项目中也保留 Entity Framework 的额外副本。
我见过有人建议使用 NuGet 来处理依赖项。我对此没有意见,但我需要一种方法让每个分支在我进行合并时不中断地拉取各自的依赖项。
最佳答案
最好的解决方案是使用 NuGet 来处理您的情况下的依赖关系。您可以在 NuGet Config File 中为每个分支定义不同的包源.
<packageSources>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="MyRepo - ES" value="http://MyRepo/ES/nuget" />
</packageSources>
您可以为每个分支创建不同的 NuGet 存储库,为每个分支创建不同的 NuGet 配置文件,并在该配置文件中简单地定义正确的存储库 URL。
如果您不喜欢使用 Nuget,您希望将所有依赖程序集保存在分支外部的团队项目中的一个文件夹中。为确保相对引用不中断,您必须确保所有分支在团队项目中处于相同的文件夹深度。无论程序集文件夹是否分支,都应正确创建相对引用。更多详细信息请引用这篇博客:Project Dependencies will break with branching if not done properly
关于entity-framework - 具有分支依赖项的分支项目的 TFS 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42932203/