【问题标题】:Are git submodules a good solution for storing a large DB dump?git 子模块是存储大型数据库转储的好解决方案吗?
【发布时间】:2013-10-17 20:41:06
【问题描述】:

也就是说,我们有一个 20MB 的 bzip2 sql 开发数据文件,我们希望将其与我们的开发代码一起进行版本控制。

但是,默认情况下,我们不希望每次新克隆/获取时都从存储库中删除此文件。

一种解决方案似乎是将这个大文件存储在单独的存储库中,然后使用子模块链接到它。然后,开发人员仅在需要检索和重置其开发数据库时才获取 db 文件。然后,当模式发生变化时,数据库文件将被更新,提交到外部 repo,并更新子模块。

这是一个好的开发工作流程吗?或者有更好的方法吗?

编辑:未压缩的 SQL 转储为 360MB。

编辑:Github 说“不”,不要这样做:

数据库转储

大型 SQL 文件不能很好地与版本控制系统(例如 吉特。如果您希望为您的开发人员提供最 最近的生产数据集,我们建议使用 Dropbox 进行共享 您的开发人员中的此类文件。

【问题讨论】:

  • 我会说子模块是的,bzip 不是。让 repo 压缩来做到这一点,如果默认设置不够,请调整其配置设置,但首先 compress 会关闭几乎所有 git 的版本控制功能。
  • @jthill 不幸的是,该文件对于 github 来说太大了,未压缩:remote: error: File production-dump.sql is 362.49 MB;这超出了 GitHub 的 100 MB 文件大小限制

标签: database git development-environment git-submodules


【解决方案1】:

我最终制作了一个简单的 Web 服务器,从存储转储的存储库中提供模式转储目录。存储库增长非常快,因为转储很大,当人们不得不启动新节点时,它会减慢人们的速度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 2017-09-19
    • 2017-03-25
    • 2021-05-23
    • 1970-01-01
    相关资源
    最近更新 更多