12 svn git version-control mercurial
我们的团队正在考虑使用虚幻开发工具包制作游戏,我们正在寻找版本控制解决方案.
我一直偏爱分散的VCS,如Git和Mercurial,并将它用于我的所有个人项目.虽然我听说过使用这些系统进行游戏开发的问题,但它们并不适合大二进制文件.
Subversion似乎是一个很好的解决方案,但我过去根本没有使用它,所以我真的不知道它提供了什么.
您可以毫无问题地使用Mercurial或Git.我不知道为什么@TomTom在没有提供任何关于原因的提示的情况下以这种方式说明.
当然,您必须管理每个游戏开发(电影,纹理,地图等)附带的各种二进制文件.但是这两种软件都有办法处理它们.
Mercurial有各种扩展来处理大文件,特别是二进制文件.
从版本2.0开始,大文件扩展包含在Mercurial中,您无需下载任何其他内容即可使用它.文件不直接存储在存储库中,但Mercurial会跟踪每个变更集所需的文件版本,因此您可以在需要时使用正确的文件下载游戏的精确版本.
在2.0之前,主要使用了两个扩展:
我不太熟悉Git处理大文件的可能性,但我知道存在各种解决方案.这篇文章应该给出一些好的指示:使用git管理大型二进制文件
我听说很多关于git-annex的好消息.
我已经将SVN与大文件一起使用,并且我没有比Mercurial(没有扩展名)更好地管理它们的印象.
如果你决定使用扩展来管理Mercurial/Git的大文件,那么Subversion在功能方面就落后了.
关于保持二进制文件版本与源同步的问题,bot Mercurial和Git扩展可以很好地处理这个问题.
每个版本的二进制文件都存储在一个单独的集中目录(largefile store
Mercurial术语)中,当dev克隆存储库或更新到特定的变更集时,只从该存储中下载所需的文件.
您甚至可以将同一商店用于各种存储库!
将文件添加到商店或更新文件的过程对开发人员来说几乎是透明的,因此例如对于长学习曲线没有问题.
总而言之,我真的不明白为什么Git或Mercurial没有完成任务,没有其他答案给出任何真正的理由.
在我看来,大型游戏公司坚持使用较旧的工具,因为更改需要时间,当您付费购买时,您会使用它!有多少公司仍在使用VSS或CVS,因为层次结构不会听到任何其他内容?上个月我们刚刚迁移到TFS(来自VSS)我正在工作......