游戏创业团队应该选择Git还是Svn

在开发过程中遇到问题,我都会做一些思考,总结一下,作为研发团队在项目研发前就要确定好管理工具,游戏研发团队核心:程序,美术,策划。公司为了项目管理方便,一般会选择Git或者SVN,下面我们就分析一下项目开发该选择那款项目管理工具,先说Git。

Git

选择Git,Git它的优势非常明显,如下所示:

1、分布式管理,非常强大的分支管理功能,分支功能对于开发者来说非常方便,每个人可以开一个分支,开发好功能后提交上去,通知主程将其合并到主干,保证主干是干净的,能够运行的。
2、在不联网的情况下,照样可以提交到本地仓库,可以查看以往的所有log,等到有网的时候,push到远程即可,这个功能也是非常方便的。
缺点就是操作起来相对复杂一些。
当然,选择Git作为项目管理工具,需要承担一定的风险,就是项目使用人员是否对Git的各种操作命令熟悉,否则就会出现各种奇葩问题,比如代码冲突,代码覆盖,代码不一致等等。处理这些事情就要占用大量的时间,出现这种情况与使用Git就背道而驰了。
在使用Git时必须要考虑团队人员对Git的使用程度,否则就要组织大家统一培训,快速提升使用Git的技能,避免项目管理风险。
怎么合理的使用Git,在项目开发时,首先确定项目主干是能够运行的,没有任何BUG的工程,然后根据划分任务,划分成员各自的分支,团队每个成员都在自己的分支下开发,提交也是自己的分支下。功能开发好了以后,通知主程将分支合并到主干,理想情况是合并到主干的代码不能有任何问题。完成后可以再根据任务重新划分分支开发,我们在开发时候还要使用诸如Jira或者禅道这些项目管理工具,我们的开发计划跟Jira或者禅道是一一对应的,这样一旦出现问题可以快速的追踪到。美术,策划也是一样的,美术和策划同样在自己的分支下提交项目资源。这就要求在Unity开发时,需要做到资源和代码的彻底分离,资源可以动态的绑定代码,这样美术只负责自己美术的事情,无需关心代码,提升了效率。
另外,选择Git的原因,我们项目在上线后需要管理多个版本分支,这个是Git最擅长做的事情。
Git 客户端可以采用TortoiseGit,也可以采用界面操作Sourcetree。

SVN

说完了Git,再说说SVN,对于团队来说同样也可以选择SVN,它的优势如下:
设置权限管理功能,可以精确控制每个目录的权限,傻瓜时操作。
它的缺点:分支功能没有git强大,速度比Git慢,分支越多速度越慢;必须联网才可以提交等等。
项目小的可以直接使用SVN开发也是可以的,大项目可以在项目初期使用SVN,等版本上线后再使用Git也是可以的,主要是为了美术和策划操作方便。

Git与SVN混用

在项目开发中,Git和SVN也可以结合起来使用,Git用于程序的管理,SVN可以用于美术和策划,毕竟让美术和策划熟练使用Git还是有一定的难度的。这种处理方式需要制作一些工具配合,比如打包工具,美术在提交资源时可以将其打成AssetBundle,这样程序运行直接远程加载就可以;
总之,个人建议项目开发还是首选Git分布式开发,根据团队掌握情况,可以适当的进行培训。

你可能感兴趣的:(Git使用,SVN使用,游戏制作)