在版本控制下存储非源文件的最佳实践

Cha*_* Ma 8 version-control

我有一个受版本控制的项目,但该项目有一些图像,视频和zip文件经常变化.我不想将这些文件存储在版本控制之下,因为它们会占用大量空间并使更新和提交速度非常慢.

处理此问题的好方法是什么,仍然提交已更改的非源文件?有没有更好的办法?

我目前正在使用subversion,如果有另一个版本控制客户端更好地处理这个问题,请推荐它!

Spe*_*ort 6

我在SVN中有很多非源文件,只有当我更改它时,它才会减慢提交速度.如果他们只是"经常"改变,我不明白这是怎么回事.这个尺寸也不应该是一个问题.如果您的存储库位于服务器上并且您担心它需要多少空间,则需要升级.硬盘很便宜.买他们.

有些人强烈认为非源文件不属于源代码控制,我说整个项目应该存储在源代码控制中.这样,如果我的开发系统出现故障,我可以切换到另一个,在下载项目几分钟后,我又回到了编码状态.


Von*_*onC 3

您在评论中添加了:

我遇到的问题是,我不关心这些 zip/视频文件的版本历史记录,只要它们是最新的,就没有问题。

这意味着您拥有线性的开发工作流程,仅处理一个主分支的最新版本。
您似乎没有处理“发布后”阶段,您必须:

  • 维护生产中运行的内容
  • 发展小的演变...
  • ..同时进行大规模重构以尝试一些重大演变

在最后三种情况下,“我必须使用的确切图像、视频和 zip 文件是什么”或“我当时使用的”问题可能变得很重要。

无论如何,如果您觉得 SVN 没有适当地处理它们,我仍然建议您使用某种方式来记住,对于 SVN 修订版 xxx 到 yyy,您使用的是二进制文件集的版本“z”。
为此,您可以设置一个外部存储库,例如Maven。请参阅问题“在 SVN 中存储二进制文件是否可以接受/好? ”(我在该问题中的答案位于页面顶部附近,但当他提到 Maven 时,我直接链接到 Evan 的答案)。