声音、视频和其他二进制文件的版本控制
对大量二进制文件(例如音频和视频文件)进行版本控制的最佳方法是什么? Git 似乎并不是真正为处理大量二进制文件而设计的。
另一个问题是内容制作者不一定想学习如何使用 Git 等开发人员工具。
有人为基于文本的版本控制系统(如 Git)找到了一个很好的二进制版本控制伴侣吗?游戏开发者通常做什么?在很多情况下,内容是否只是没有版本控制?在这种情况下,集中式 SCM 是否能更好地工作?
What's the best way to version large amounts of binary files, say audio and video files? Git doesn't seem like it's really designed to handle large amounts of binary files.
The other issue is that content produces don't necessarily want to learn how to use a developer's tool like Git.
Has anyone found a good binary versioning companion for text based versioning systems like Git? What do game developers usually do? Is content just not versioned in many cases? Do centralized SCM's work better in this case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
Adobe 的 Version Cue 是一个与 adobe suite 良好集成的 VCS,并且具有可使用的独立工具。不过,我不会推荐 CS3 之前的任何版本,因为它的功能并不完整。
也就是说,无论如何我都使用 git 对媒体文件进行版本控制。 git 并不关心格式是什么,尽管当大多数二进制格式发生分歧时它无法合并它们。 git 的内置 gui(
git-gui
和gitk
)界面实际上非常好,一旦您了解了它们的方法。Adobe's Version Cue is a VCS with good integration in adobe suite and has a serviceable standalone tool. I won't recommend any version prior to CS3, though, because it just wasn't feature complete.
That said, I use git for version control on media files anyway. git just doesn't care what the format is, although it can't merge most binary formats when they do diverge. the builtin gui (
git-gui
andgitk
) interfaces for git are actually quite nice, once you know your way around them.我在 Git 中对二进制文件进行版本控制,在此之前我使用了 Subversion。然而,我真的不推荐其中任何一个,特别是在 Windows 和/或 32 位系统上。
在游戏开发中,Perforce 似乎拥有几乎 100% 的市场渗透率,特别是因为它对二进制文件的处理。
I'm versioning my binary files in Git, and before that I used Subversion. However, I really cannot recommend either of those, especially on Windows and/or 32 Bit systems.
In game development, Perforce seems to have an almost 100% market penetration, specifically because of its handling of binary files.
您可能想看看 Boar,“照片、视频的简单版本控制和备份和其他二进制文件”。
You might want to take a look at Boar, "Simple version control and backup for photos, videos and other binary files".
GitHub 上的 Scott Chacon 创建了一个 Git 扩展,git-media,它允许您使用 Git跟踪您的媒体文件,而无需将这些文件实际存储在您的 Git 存储库中。
Scott Chacon over at GitHub has created a Git extension, git-media, which allows you to use Git to track your media files without actually storing those files in your Git repo.
Mercurial 对大型二进制文件有坚实的支持。我一直在使用它来对数千个 gzip 压缩文件进行版本控制。请记住,克隆存储库仍然意味着复制曾经存储在版本控制下的所有二进制数据。另一方面,使用 Subversion,您不必复制整个历史记录来使用存储库。
Mercurial has solid support for large binary files. I've been using it to version-control several thousand gzipped files. Just keep in mind that cloning the repo still means copying over all of the binary data that was ever stored under version control. On the other hand, with Subversion, you wouldn't have to copy the entire history just to work with the repo.
TortoiseGit 支持 Office 文档的完整 git 工作流程,将 diff 委托给 Office 本身。它还可以将 OpenDocument 格式委托给 OpenOffice。
TortoiseGit supports full git workflow for Office documents delegating diff to Office itself. It works also delegating to OpenOffice for OpenDocument formats.
git-annex 允许使用 git 管理文件,而无需将文件内容检查到 git 中。虽然这看起来有些矛盾,但在处理大于 git 当前可以轻松处理的文件时,无论是由于内存、时间还是磁盘空间的限制,它都是有用的。
git-annex 是为喜欢命令行的 git 用户设计的。对于其他人来说,git-annex 助手将 git-annex 变成一个易于使用的文件夹同步器。
http://git-annex.branchable.com/
git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.
git-annex is designed for git users who love the command line. For everyone else, the git-annex assistant turns git-annex into an easy to use folder synchroniser.
http://git-annex.branchable.com/