【问题标题】:Version control for sound, video, and other binary files声音、视频和其他二进制文件的版本控制
【发布时间】:2010-11-12 23:26:08
【问题描述】:
对大量二进制文件(例如音频和视频文件)进行版本控制的最佳方法是什么? Git 似乎并不是真正为处理大量二进制文件而设计的。
另一个问题是内容生产者不一定想学习如何使用像 Git 这样的开发者工具。
有没有人为像 Git 这样的基于文本的版本控制系统找到一个好的二进制版本控制伴侣?游戏开发者通常做什么?在很多情况下,内容只是没有版本化吗?在这种情况下,集中式 SCM 会更好地工作吗?
【问题讨论】:
标签:
git
version-control
binary-data
【解决方案1】:
Adobe 的 Version Cue 是一个在 adobe 套件中具有良好集成的 VCS,并具有一个可维护的独立工具。不过,我不会推荐 CS3 之前的任何版本,因为它只是功能不完整。
也就是说,我还是使用 git 对媒体文件进行版本控制。 git 只是不关心格式是什么,尽管当大多数二进制格式出现分歧时它不能合并它们。 git 的内置 gui(git-gui 和 gitk)接口实际上非常好,只要你熟悉它们。
【解决方案2】:
我在 Git 中对我的二进制文件进行版本控制,在此之前我使用了 Subversion。但是,我真的不推荐其中任何一个,尤其是在 Windows 和/或 32 位系统上。
在游戏开发中,Perforce 似乎拥有几乎 100% 的市场渗透率,特别是因为它处理二进制文件。
【解决方案3】:
您可能想看看Boar,“照片、视频和其他二进制文件的简单版本控制和备份”。
【解决方案4】:
GitHub 上的 Scott Chacon 创建了一个 Git 扩展,git-media,它允许您使用 Git 来跟踪您的媒体文件,而无需将这些文件实际存储在您的 Git 存储库中。
【解决方案5】:
Mercurial 对大型二进制文件有可靠的支持。我一直在使用它来对数千个 gzip 文件进行版本控制。请记住,克隆 repo 仍然意味着复制曾经存储在版本控制下的所有二进制数据。另一方面,使用 Subversion,您不必为了使用 repo 复制整个历史记录。
【解决方案6】:
TortoiseGit 支持 Office 文档的完整 git 工作流,将差异委托给 Office 本身。它还可以将 OpenDocument 格式委托给 OpenOffice。
【解决方案7】:
git-annex 允许使用 git 管理文件,而无需将文件内容检查到 git 中。虽然这看起来很矛盾,但在处理比 git 目前可以轻松处理的文件时,它很有用,无论是由于内存、时间或磁盘空间的限制。
git-annex 专为喜欢命令行的 git 用户而设计。对于其他人来说,git-annex 助手将 git-annex 变成了一个易于使用的文件夹同步器。
http://git-annex.branchable.com/