Team Foundation Server 分支
Team Foundation Server branching
我是一名应届毕业生,在分支或单个 Web 项目有很多条件的情况下,创建 Web 项目的最佳方式遇到了问题。
例如:我有多个客户对我们的系统有不同的看法。有些客户想使用某些功能,而有些则不想。
解决方案 1:为每个客户创建每个分支以分离他们的项目构建
概率。遇到:如果我有多个客户想要相同的功能,那么重复这些程序会非常乏味。
解决方案 2:只有一个项目有许多设置条件来激活功能,具体取决于客户需要
概率。 ENCOUNTERED:这会比较慢,因为每个客户端的每个功能都应该有一个程序条件。在此解决方案中调试也更加困难。
可能最简单的方法是使用插件式系统。如果您正确地定义它,那么如果客户想要的某个功能中存在错误,那么更新系统将会很容易。现在您仍然可以发布具有所有功能的程序,但您可以在配置文件中打开和关闭功能。现在,这将需要您有一个良好的日志记录系统。这两个系统都需要大量研究。
您建议的任何类型的分支都是一个坏主意。我建议您在 TFS 中使用 Git 而不是 TFVC,并使用 Git 流 (http://nkdalm.net/Git-Flow) 作为您的分支策略。
只要你的分支是短暂的(几小时而不是几天),它们就很有用。如果您最终为每个客户都设立了一个分支机构,那么您最终会遇到过多的技术问题并最终淹没在复杂性之中。这不是一个令人愉快的地方。
您应该投资并实施一个良好的功能切换系统,您可以使用该系统为客户启用和禁用功能。如果您遇到相同的算法或行为需要每个客户不同,您应该使用依赖注入或插件实现切换。
如果您使用良好的工程实践,首先练习某种形式的测试,并始终维护工作代码,那么您永远只需要一个长期分支。
我是一名应届毕业生,在分支或单个 Web 项目有很多条件的情况下,创建 Web 项目的最佳方式遇到了问题。
例如:我有多个客户对我们的系统有不同的看法。有些客户想使用某些功能,而有些则不想。
解决方案 1:为每个客户创建每个分支以分离他们的项目构建
概率。遇到:如果我有多个客户想要相同的功能,那么重复这些程序会非常乏味。
解决方案 2:只有一个项目有许多设置条件来激活功能,具体取决于客户需要
概率。 ENCOUNTERED:这会比较慢,因为每个客户端的每个功能都应该有一个程序条件。在此解决方案中调试也更加困难。
可能最简单的方法是使用插件式系统。如果您正确地定义它,那么如果客户想要的某个功能中存在错误,那么更新系统将会很容易。现在您仍然可以发布具有所有功能的程序,但您可以在配置文件中打开和关闭功能。现在,这将需要您有一个良好的日志记录系统。这两个系统都需要大量研究。
您建议的任何类型的分支都是一个坏主意。我建议您在 TFS 中使用 Git 而不是 TFVC,并使用 Git 流 (http://nkdalm.net/Git-Flow) 作为您的分支策略。
只要你的分支是短暂的(几小时而不是几天),它们就很有用。如果您最终为每个客户都设立了一个分支机构,那么您最终会遇到过多的技术问题并最终淹没在复杂性之中。这不是一个令人愉快的地方。
您应该投资并实施一个良好的功能切换系统,您可以使用该系统为客户启用和禁用功能。如果您遇到相同的算法或行为需要每个客户不同,您应该使用依赖注入或插件实现切换。
如果您使用良好的工程实践,首先练习某种形式的测试,并始终维护工作代码,那么您永远只需要一个长期分支。