首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UDK开发游戏的版本控制系统?

使用UDK开发游戏的版本控制系统?
EN

Stack Overflow用户
提问于 2011-11-27 21:12:52
回答 5查看 4.6K关注 0票数 12

我们是一个正在考虑使用Unreal Development Kit开发游戏的团队,我们正在寻找版本控制解决方案。

我一直更喜欢像Git和Mercurial这样的去中心化VCS,并将其用于我所有的个人项目。虽然我听说过使用这些系统进行游戏开发的问题,因为它们不适合大的二进制文件。

Subversion似乎是一个很好的解决方案,但是我过去根本没有使用过它,所以我真的不知道它提供了什么。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-28 07:57:49

您可以使用Mercurial或Git,没有问题。我不知道为什么@TomTom会以这样一种方式陈述,但没有提供任何关于原因的暗示。

当然,你将不得不管理每个游戏开发附带的各种二进制文件(电影、纹理、贴图等)。但这两种软件都有处理它们的方法。

Mercurial有各种扩展来处理大文件,特别是二进制文件。

从2.0版本开始,Large File extension包含在Mercurial中,您无需下载任何其他内容即可使用它。文件不会直接存储在存储库中,但Mercurial会跟踪每个变更集所需的文件版本,以便您可以在需要时使用正确的文件下载游戏的精确版本。

在2.0之前,主要使用两个扩展:

  1. Bfiles extension,,它被用作2.0
  2. Bigfile extension,中新扩展的基础,在我看来,它比

中的其他两个更复杂

Git

我对Git处理大文件的可能性并不是很熟悉,但我知道有各种解决方案。这篇文章应该给出一些好的建议:Managing large binary files with git

我听说过很多关于git-annex的好话。

SVN

我曾经使用SVN处理过大文件,我没有印象中它比Mercurial (没有扩展名)更好地管理它们。

如果你决定使用一个扩展来管理Mercurial / Git的大文件,Subversion在功能方面远远落后。

结论

关于你关心的保持二进制文件版本与源代码同步的问题,bot Mercurial和Git扩展很好地处理了这一问题。

二进制文件的每个版本都存储在单独的集中式目录( Mercurial术语中的largefile store )中,当开发人员克隆存储库或更新到特定的变更集时,只从该存储区下载所需的文件

你甚至可以对不同的存储库使用相同的存储!

向存储添加文件或更新文件的过程对开发人员来说几乎是透明的,因此,例如,学习曲线很长是没有问题的。

总而言之,我真的不明白为什么Git或Mercurial不能胜任这项任务,也没有其他答案给出任何真正的原因。

在我看来,大型游戏公司坚持使用旧的工具,因为改变需要时间,当你为某些东西付费时,你就会使用它!有多少公司仍然在使用VSS或CVS,仅仅是因为公司层级不会听到任何关于其他事情的消息?我们上个月刚从VSS迁移到TFS,我在那里工作...

票数 7
EN

Stack Overflow用户

发布于 2011-11-27 21:16:49

我会坚持使用Git。在存储大型二进制文件时,您可能会失去什么,但在能够作为一个团队一起工作时,您将获得更多。您将更新、更改和合并代码,而不仅仅是存储二进制文件,而且DVCS可以更好地处理这一点。

票数 1
EN

Stack Overflow用户

发布于 2011-11-27 21:22:51

Hq(Mercurial) 2.0对大文件的支持非常好。

以前它是LargefilesExtension,但从2.0版开始,它与核心一起分发。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8285801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档