【发布时间】:2014-11-11 21:06:31
【问题描述】:
考虑以下 -
我有一个包含多个项目的解决方案:
- DAL(类库)
- BusinessLogic(类库)
- Website1(Web 应用程序)
- Website2(Web 应用程序)
Website1 和 Website2 共享一个对 BusinessLogic 的引用,而后者又引用 DAL。
由于这些只是网站,因此我不需要跟踪多个版本,但我确实希望拥有以下分支:
- 后备箱
- 生产
Trunk 是我完成所有开发工作的地方,在一切都经过测试并准备就绪后,当网站实际部署到生产服务器时,我会从 Trunk 合并到生产。这使我可以搁置当前的工作,检查生产分支并解决部署后发现的任何重大错误并立即部署修复程序。
我的问题是,使用这种方法,生产分支中的内容并不总是正确的。假设我对 Website1 使用的 BusinessLogic 进行了更新。它通过了测试并被部署。如果我将所有项目合并到 Production 分支,那是错误的,因为当时 Website2 没有部署到生产中。
或者,我可以只将相关项目合并到生产中。因此,在这种情况下,我将合并 Website1、BusinessLogic 和 DAL。然而,这仍然是错误的。如果我要检查生产分支以在 Website2 上工作,它将具有比我们生产服务器上实际存在的新版本的 BusinessLogic 和 DAL。
这里的正确方法是什么?
【问题讨论】:
标签: version-control tfs architecture