Questions tagged «version-control»

版本控制是对项目的代码,文档,资产和其他文件的更改的管理。

6
游戏开发的版本控制-问题和解决方案?[关闭]
有很多版本控制系统可用,包括诸如Subversion,Git和Mercurial的开源系统,以及诸如Perforce的商业系统。 他们对游戏开发过程的支持程度如何?对于非文本文件(二进制文件),大型项目等,使用VCS有什么问题?这些问题有什么解决方案? 对于答案的组织方式,让我们以每个软件包为基础进行尝试。用结果更新每个软件包/答案。 另外,请在您的答案中列出一些简短的详细信息,关于您的VCS是免费的还是商业的,是分布式还是集中式等。 更新:找到了一篇比较下面两个VCS的不错的文章-显然,Git是MacGyver,Mercurial是Bond。好吧,我很高兴那已经解决了……作者最后有一个不错的报价: 可以向那些尚未切换到分布式VCS的人宣讲福音,但是尝试将Git用户转换为Mercurial(反之亦然)是浪费每个人的时间和精力。 特别是由于Git和Mercurial的真正敌人是Subversion。Dang,在FOSS领域,这是一个吃代码的世界……

3
我可以在源代码管理中忽略哪些Unreal Engine 4项目文件?
我想使用git将Unreal Engine 4项目置于源代码控制之下。(我知道编辑器支持Perforce和Subversion,但我不在乎这些。) 我在存储库中包括哪些文件夹和文件,哪些可以忽略? 我看到它的方式,需要以下:Config,Content,Source,*.sln,*.uproject 的事情,我可以忽略:Binaries,DerivedDataCache,Intermediate,Saved,*.suo,*.sdf,*.opensdf 它是否正确?

7
Unity中的团队合作
我有一个没有任何版本控制的Unity项目,我需要与其他开发人员共享它,以便我们俩都可以从事该项目。 应该使用哪些策略与Unity Assets配合使用?

3
资产管理,数据库或版本控制系统?
在开发游戏资产时,(网格,纹理,声音,视频)如何管理它们? 将它们与源代码保持在版本控制系统中?(perforce,git等) 还是拥有专门用于资产的中央备份数据库,让编辑者总是喜欢它?(PostgreSQL,MySQL等…) 其他? 每种方案的优缺点是什么,为什么一个人应该选择另一个?


3
团队如何防止覆盖源文件中的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 在我看来,有一种可能性,例如由多个人同时处理游戏引擎时,如何防止覆盖? 假设开发者一在工作,Audio.cpp而开发者二也在工作Audio.cpp,这在大型团队中通常如何进行管理以应对覆盖?(换句话说,要阻止开发人员2打开文件,直到开发人员1完成)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

4
游戏开发的版本控制-我应该何时分支?
我最近开始在我的项目中使用版本控制(即使我一个人在工作)。我发现它提供了一种很好的方式来保留整个开发过程的历史记录(带有问题跟踪),并且使我能够一路保留项目的备份。 当我慢慢发现使用版本控制的功能和优点时,我陷入了分支的念头。我什么时候应该做? 是我每次去开发一个新功能,还是每隔一段时间才达到某个里程碑? 显然,当单独工作时,分支是没有用的,但是我宁愿现在养成良好的习惯并习惯它。 当我阅读Mike McShaffry撰写的《Game Coding Complete》一书时(这是一本很棒的书),当作者建议保留三个分支时,我完全迷失了方向,大致如下: 主要:定期进行更改的主要开发部门。 黄金:保留最后一个里程碑的黄金分支。 研究部:用于测试可能严重影响Main分支的东西(修改游戏引擎的重要组件等)的分支。 那应该是这样吗?与大型开发人员团队一起在游戏开发领域中如何真正发挥作用? 基本上:什么时候通常会在游戏开发中分支(并合并)?


3
我可以从版本控制中忽略哪些libgdx项目文件?
在自动创建的libgdx项目中,我可以安全地告诉Git(或其他版本控制系统)忽略哪些文件? 我正在考虑这些: *-android/.settings/ *-android/bin/ *-desktop/.settings/ *-desktop/bin/ *-html/.settings/ *-html/gwt-unitCache/ *-html/war/WEB-INF/classes/ *-html/war/WEB-INF/deploy/ *-html/war/assets/ *-html/war/ */.settings/ */bin/ 我想念一些吗?哪里有完整的清单?

7
管理变化的设计师数据和变化的球员数据的方法
我有一个在线游戏,玩家可以通过某种方式塑造世界-例如。Ultima Online的房屋,您可以在其中直接在世界地图的某些部分上建造房屋。这些变化应作为持久世界的一部分随着时间的流逝而持久。 同时,设计团队正在添加新内容并修改旧内容,以改善和扩展新玩家的游戏。他们将首先在测试期间在开发服务器上执行此操作,然后再将其工作与实时服务器上播放器的“工作”合并。 假设我们解决了游戏设计问题-例如。玩家只能在指定区域内建造游戏,因此他们永远不会与设计者进行地理上的冲突- 处理新数据或安排数据结构的最佳方法是什么,以避免在将新设计者数据与新玩家数据合并时发生冲突? 示例1:玩家制作了一种新的物品,然后游戏为其分配了ID 123456。该项目的实例全部回溯到123456。现在想象游戏设计师有一个类似的系统,而设计师创建了一个新项目,编号也为123456。如何避免这种情况? 示例2:某人制作了一个流行的mod,可以为您的所有龙赋予法国口音。它包括一个带有新对象的脚本assignFrenchAccent,他们使用该脚本将新的语音资产分配给每个龙对象。但是,您将部署具有相同名称的对象的“拿破仑与史矛革” DLC-如何在没有很多客户服务问题的情况下做到这一点? 我想到了以下策略: 您可以使用2个单独的文件/目录/数据库,但是读取操作非常复杂。“显示所有项目”必须在设计器DB上执行一次读取,在播放器DB上执行一次读取(并且仍然必须以某种方式区分这两个)。 您可以在一个商店中使用2个不同的名称空间,例如。使用字符串作为主键,并以“ DESIGN:”或“ PLAYER:”作为前缀,但是创建这些名称空间可能并非易事,并且依赖关系不清楚。(例如,在RDBMS中,您可能无法有效地将字符串用作主键。您可以使用整数并将低于某个数字(例如1百万)的所有主键分配为设计器数据,而高于该数字的所有主键则分配为玩家数据。但是该信息对于RDBMS是不可见的,并且外键链接将跨越“分隔线”,这意味着所有工具和脚本都需要明确地解决它。) 您始终可以实时处理同一个共享数据库,但是性能可能很差,损坏播放器数据的风险可能会增加。它也不会扩展到在具有不同世界数据的多于一台服务器上运行的游戏。 ...还有其他想法吗? 在我看来,尽管这主要是在线游戏的问题,但这些概念也可能适用于改装,即社区在开发人员修补其游戏的同时创建mod。是否有任何策略可以用来减少新补丁发布时模块破解的机会? 我也将其标记为“版本控制”,因为在一个层面上这就是-需要合并的2个数据开发分支。也许某些见解可能来自该方向。 编辑-上面添加了一些示例以帮助阐明问题。我开始认为这个问题实际上是命名空间问题之一,可以通过组合键在商店中实现。至少,这简化了合并策略。但是可能还有其他我看不到的选择。

3
.sln / .csproj对共享Unity项目有用吗?
我们在使用GIT和Unity时遇到了一些问题。.sln / .csproj文件经常会给我们带来麻烦,因此在网络上搜索了一会儿之后,我发现也许没有必要推送此文件。有人对此有任何反馈吗?https://gist.github.com/hw/1234398例如,.gitignore中包含这些文件,但老实说我不知道​​这种文件的作用。 我可以将它们从我的存储库中排除,还是该文件与游戏中的某些参考相关?

2
自上次git commit以来,如何以视觉方式查看对场景所做的更改
在将它们提交给git之前,我想查看在场景(.unity文件)中所做的更改。 我研究了几种GIT / Unity解决方案,但所有这些解决方案都是为了合并更改,而不是为了与上一版本显示差异。 场景文件的问题在于它们使用指向其他资产的GUID,而当我打开一个场景文件的差异时,我无法真正使用它进​​行任何处理。 例如: 相反,我想看到这样的东西: 有什么可以做到的吗?

5
我应该从游戏的源代码控制存储库中排除哪些文件类型?
我已经开始与朋友一起使用Unity进行个人项目,我们已经建立了自己的源代码控制系统。 我知道以下事实:存在许多类型的文件,即在构建时在本地生成的文件(例如,Visual Studio文件)以及特定于特定计算机的文件,不应添加到源代码管理中,而是我不确定这些文件类型是什么。 我不想排除应该包含的任何生成文件,例如.meta文件。 有人将能够列出所有或至少所有不应该添加到版本控制中的通用文件类型,特别是对于Unity项目吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.