Team Foundation Server分支

时间:2015-01-28 02:39:26

标签: visual-studio-2010 tfs

我是一名刚毕业的学生,​​遇到麻烦,如果分支或单个网络项目有很多条件,这是创建网络项目的最佳方式。

例如:我有多个客户对我们的系统有不同的见解。有些客户希望使用某些功能,而其他客户则不会。

解决方案1:为每个客户创建每个分支以分离他们的项目建立
概率。遇到的问题:如果我有多个客户想要相同的功能,那么重复这些程序会非常繁琐。

解决方案2:根据客户需要,只有一个项目具有许多设置条件来激活功能 概率。 ENCOUNTERED:这将会变慢,因为每个客户端的每个功能都应该具有程序条件。在此解决方案中调试也更加困难。

2 个答案:

答案 0 :(得分:6)

可能最简单的方法是使用插件式系统。如果您正确定义它,如果客户需要的某个功能中存在错误,则可以轻松更新系统。现在您仍然可以发布具有所有功能的程序,但在配置文件中,您可以打开和关闭功能。现在这需要你有一个好的测井系统。这两个系统都需要相当多的研究。

答案 1 :(得分:3)

你提出的任何分支都是个坏主意。我建议您在TFS中使用Git而不是TFVC,并使用Gi​​t flow(http://nkdalm.net/Git-Flow)作为分支策略。

只要你的分支很短(几小时而不是几天),它们就会很有用。如果你最终为每个客户设立了一个分支机构,那么最终会遇到太多技术问题并最终导致复杂性淹没。这不是一个令人愉快的地方。

您应该投资并实施一个良好的功能切换系统,您可以使用该系统为客户启用和禁用功能。如果你遇到了每个客户需要不同的相同算法或行为,你应该实现一个可能带有依赖注入或插件的开关。

如果您使用良好的工程实践,首先进行某种形式的测试,并始终保持工作代码,您永远不需要超过一个长期分支。