代码之家  ›  专栏  ›  技术社区  ›  CodeFusionMobile

对于大型(>250GB)内容存储库,是否建议使用Git

  •  27
  • CodeFusionMobile  · 技术社区  · 15 年前

    web应用程序是一个定制的CMS,它有几个子应用程序,每个子应用程序都有驻留在同一目录结构中的代码和内容。由于应用程序框架的体系结构,代码和内容相互交织(内容取决于代码的显示和其他功能),因此不可分割。内容不是存储为BLOB,而是存储为文件,底层数据库用于链接它们。子应用程序的大小从20GB到250GB甚至更多(这是杀手级应用程序)。

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

    Git之所以出现,是因为它是开源的;免费,易于分支&合并,它不是集中的&因此,没有单点故障。

    但是,在对web进行了一些初步研究之后,我发现了一些适用于我们的应用程序的令人失望的事实——在像我们这样的大型系统上使用Git是痛苦的(签出、克隆、合并、推送、拉取),对于一个不懂DVCS的开发人员群体和大多数Windows用户来说,命令是复杂的(“极客”更合适)。

    Git没有固定的思维模式,但如果我必须采用集中的方法(在最坏的情况下),那么应该怎么做(CVS和SVN分开)。我已经读到Perforce是一款稳定的产品,它也被谷歌使用(我希望这里有一些胸罩!!)。

    7 回复  |  直到 15 年前
        1
  •  26
  •   pgs    7 年前

    this blog post 不到一分钟前。对于git的可伸缩性有点吹毛求疵。

    编辑:八年后,Git Large File Storage (LFS),而微软是开源的 Git Virtual File System

        2
  •  16
  •   Matthew Flaschen    15 年前

    首先,我不同意Git不适合非技术用户。是的,有些功能新手不会使用(例如git发送电子邮件)。但也有类似的GUI TortoiseGit 使简单的事情变得简单。

    然而,我认为你处理事情的方式是错误的。基本上,您拥有的内容将经常更改,并且Joe Bloggs需要非常轻松地对其进行编辑,而代码编写者修改的频率较低。传统的解决方案是使用真正的CMS(例如。 Alfresco SugarCRM , Drupal ,或维基( MediaWiki MoinMon ,等等),带有可选插件。请记住,Wiki(和大多数CMSE)允许以“用户友好”的方式对内容进行版本控制。

        3
  •  10
  •   sampathsris Rihards Fridrihsons    7 年前

    git不适用于大型存储库。这不是空间,而是文件的数量。请读我的 blog article 我不久前写过这件事。

    根据我的经验,如果您想要一个可扩展、快速、集中的源代码控制系统, P4 这是一条路要走。

        4
  •  8
  •   si618    15 年前

    SVN真的是如此糟糕的选择吗?

    • 可以处理大型存储库,例如许多linux发行版使用它,还有Apache、Sourceforge
    • 可与windows集成身份验证一起使用,以使管理员满意

    欺骗:

    • 中央风险投资公司

    免责声明:我从未使用过Perforce,并且作为SVN管理员和用户快乐了约6年(从v0.29开始)

        5
  •  4
  •   Mike Caron    15 年前

    有一个名为 git-split 这就削减了git回购以提高效率。

        6
  •  2
  •   indusBull    7 年前

    微软刚刚发布 (GVFS)专门用于使用git处理大型代码库。 More details here at msdn

    Microsoft hosts the Windows source in a monstrous 300GB Git repository

    我没有任何使用GVFS的经验。

        7
  •  -2
  •   Macarse    15 年前

    我只在学校项目中使用过一次git(带有Zend框架的php站点)。

    我们使用git,但老师需要在svn repo上发布最终版本。

    git签出是svn签出的MB大小的一半。