git - 是否推荐将 Git 用于大型 (>250GB) 内容存储库

标签 git version-control perforce

Web 应用程序是一个定制的 CMS,它有几个子应用程序,每个子应用程序都有位于同一目录结构中的代码和内容。由于应用程序框架的架构,代码和内容交织在一起(内容取决于其显示和其他功能的代码),因此是不可分割的。内容不存储为 BLOB,而是存储为文件,底层数据库用于链接它们。子应用程序的大小从 20GB 到 250GB 不等(这是 killer 锏)。

Web 应用程序将在代码中进行一些增强(新的子应用程序、错误修复等),同时用户将通过已经运行的系统添加/更新内容。因此,需要一个部署/发布过程,最重要的是需要为代码和内容建议一个版本控制系统。

Git 的出现是有原因的——它是开源和免费的,易于分支和 merge ,它不是集中式的,因此没有单点故障。

但在网络上进行一些初步研究后,我发现了一些适用于我们应用程序的令人失望的事实 - 在像我们这样的大型系统中使用 Git 很痛苦( check out 、克隆、 merge 、推送、 pull )并且命令很复杂(对于 DVCS 无知且主要是 Windows 用户的开发人员群体,“极客”更合适。

Git 没有固定的思维方式,但如果我必须采用集中式方法(在最糟糕的情况下),那么应该采用什么方式(CVS 和 SVN 分开)。我已经读到 Perforce 是一个稳定的并且也在谷歌中使用(我希望这里有一些 brashes!!)。

请分享、指导和评论您的观点。我真的需要他们。

最佳答案

我刚好在读 this blog post不到一分钟前。这是对 git 可扩展性的一些提示。

编辑:八年后,Git 有了 Large File Storage (LFS),微软正在开源 Git Virtual File System (GVFS),这样他们就可以使用 git 来开发 Windows。

关于git - 是否推荐将 Git 用于大型 (>250GB) 内容存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/999744/

相关文章:

java - 使用 API 时如何创建单独的更改列表?

Github多账号一台电脑总能看到一个账号

c# - 如何在 C# 中解析默认的 git 日期格式

php - swagger-codegen 或 openapi-generator PHP 版本

version-control - 版本控制最佳实践

git - 如何防止 git 分支被 merge 到另一个?

perforce - 如何在不更改 Perforce 工作树的情况下清除默认更改列表

perforce - perforce 有 $Id$ 关键字吗?

git - 无法使用 git pull "Couldn' t 找到远程引用 xxx”

ruby-on-rails - Rails代码共享: gem vs plugin vs submodule?