gpt4 book ai didi

git - 使用 UDK 进行游戏开发的版本控制系统?

转载 作者:IT王子 更新时间:2023-10-29 00:48:06 29 4
gpt4 key购买 nike

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

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

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

最佳答案

您可以毫无问题地使用 Mercurial 或 Git。我不知道为什么 @TomTom 会以这种方式声明,但没有提供任何有关原因的提示。

当然,您必须管理每个游戏开发(电影、纹理、 map 等)附带的各种二进制文件。但是这两种软件都有处理它们的方法。

Mercurial

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 在功能方面会落后很多。

结论

关于保持二进制文件版本与源同步的问题,机器人 Mercurial 和 Git 扩展可以很好地处理这个问题。

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

您甚至可以将同一个商店用于不同的存储库!

将文件添加到存储或更新文件的过程对开发人员来说几乎是透明的,因此不会出现长学习曲线等问题。

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

在我看来,大型游戏公司坚持使用较旧的工具,因为改变需要时间,而且当您为某些东西付费后,您就会使用它!有多少公司仍在使用 VSS 或 CVS 只是因为层次结构不会听到任何其他信息?我们刚刚在上个月我工作的地方迁移到 TFS(从 VSS)...

关于git - 使用 UDK 进行游戏开发的版本控制系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285801/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com