Unity项目的目录结构及版本控制系统的使用

最近在使用git管理一个Unity项目,但是发现Unity会生成很多不知含义的文件,造成git每次提交都有很多新文件需要提交。最后决定搞清楚Unity工程目录的结构,净化git仓库文件。

目录结构

目录、文件 说明
Assets 保存项目的图片、脚本、动画配置等等。一般是我们开发工程中的直接产物,需要提交到仓库管理起来。
ProjectSettings 所有通过Edit → Project Settings配置的信息都保存在这里。
obj、Temp 临时文件目录
Library 缓存文件。这个目录下的文件都会自动生成。
*-vs.csproj Visual Studio IDE C#工程文件
*.csproj MonoDevelop IDE C#工程文件
*-vs.unityproj Visual Studio IDE JavaScript工程文件
*.unityproj MonoDevelop IDE JavaScript工程文件
*-csharp.sln Visual Studio 的解决方案
*.sln MonoDevelop IDE 的解决方案

以上就是一个Unity工程的一般目录结构。但是除了Assets、ProjectSettings两个目录里的内容,其他的文件和目录都是自动生成的,完全没有必要放到仓库中进行管理。
另外为了让仓库能更好的管理项目文件,还需要进行一些配置。

版本控制

打开Unity项目后进行如下设置:

  1. Editor -> Project Settings -> Editor -> Version Control -> Mode = Hidden Meta Files 这样就不会生成*.meta文件

  2. Editor -> Project Settings -> Editor -> Asset Serialization -> Mode = Force Text 这样项目文件会强制使用文本方式保存,便于追溯修改历史。

  3. 忽略不需要的文件。 下面是一个git的忽略文件列表供参考。
=============== 
Unity generated
===============
Temp/
Library/

=====================================
Visual Studio / MonoDevelop generated
=====================================
ExportedObj/
obj/
*.svd
*.userprefs
/*.csproj
*.pidb
*.suo
/*.sln
*.user
*.unityproj
*.booproj

============
OS generated
============
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

参考资料

1. folders-in-version-control

没有更多推荐了,返回首页