这个 Web 应用程序是一个定制的 CMS,它有几个子应用程序,每个子应用程序都有代码和内容存储在同一目录结构中。由于应用程序框架的架构,代码和内容交织在一起(内容依赖于代码来显示和提供其他功能),因此它们是不可分离的。内容不是作为 BLOB 存储,而是作为文件存储,并且底层数据库用于链接它们。子应用程序的大小范围从 20GB 到 250GB 或更多(这是致命的)。
Web 应用程序将进行一些代码增强(新的子应用程序、错误修复等),同时用户将通过已经上线的系统添加/更新内容。因此,需要一种部署/发布流程,最重要的是需要为代码和内容建议版本控制系统。
Git 出现在这里的原因是它是开源且免费的,易于分支和合并,而且没有集中式,因此没有单点故障。
但是,在网络上进行了一些初步研究后,我发现了一些令人失望的事实,这些事实适用于我们的应用程序 - 对于像我们这样的大型系统使用 Git 是痛苦的(checkout、clone、merge、push、pull),而且对于 DVCS 无知并且大多数是 Windows 用户的开发人员,命令也很复杂(“极客”更加适合)。
Git 没有固定的思维方式,但如果我必须采用集中式方法(在真正的最坏情况下),那么应该怎么做呢?我已经阅读了关于 Perforce 的文章,它被认为是一个稳定的版本控制系统,并且在 Google 中也被使用(我期望这里会有一些争议!)。
请分享、指导和评论您的看法。我真的需要它们。