在Unity 3D中使用Git源代码控制的最佳实践是什么,特别是在处理Unity 3D项目的二进制性质时?请描述工作流程,在.gitignore中包含哪些路径,应该在Unity和/或项目中设置什么设置,以及任何其他应该注意的特殊事情。

注意:我知道使用资产服务器是unity推荐的方式,但出于各种原因,我想使用Git。请不要回答,状态或争论,我应该只是使用资产服务器。资产服务器真的不是我的选择。


当前回答

在Unity 4.3中,你还必须从首选项中启用外部选项,但自从Unity 4.5以来,他们放弃了这个选项,所以完整的设置过程如下:

在编辑器→项目设置→编辑器→版本控制模式中切换到可见元文件 在编辑器→项目设置→编辑器→资产序列化模式中切换到强制文本 从文件菜单保存场景和项目

此外,我们的团队正在使用一些扩展的.gitignore文件:

# =============== #
# 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

注意,您需要保存在源代码控制下的文件夹只有Assets和ProjectSettings。

更多关于将Unity项目置于源代码控制之下的信息,你可以在这篇文章中找到。

其他回答

我更喜欢你使用BitBucket,因为它不是公开的,并且在BitBucket上有Unity的官方教程。

https://unity3d.com/learn/tutorials/topics/cloud-build/creating-your-first-source-control-repository

希望这能有所帮助。

在Unity 4.3中,你还必须从首选项中启用外部选项,但自从Unity 4.5以来,他们放弃了这个选项,所以完整的设置过程如下:

在编辑器→项目设置→编辑器→版本控制模式中切换到可见元文件 在编辑器→项目设置→编辑器→资产序列化模式中切换到强制文本 从文件菜单保存场景和项目

此外,我们的团队正在使用一些扩展的.gitignore文件:

# =============== #
# 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

注意,您需要保存在源代码控制下的文件夹只有Assets和ProjectSettings。

更多关于将Unity项目置于源代码控制之下的信息,你可以在这篇文章中找到。

只有Assets和ProjectSettings文件夹需要置于git版本控制之下。

你可以做一个这样的gitignore。

[Ll]ibrary/
[Tt]emp/
[Oo]bj/

# Autogenerated VS/MD solution and project files
*.csproj
*.unityproj
*.sln
*.suo
*.userprefs

# Mac
.DS_Store
*.swp
*.swo

Thumbs.db
Thumbs.db.meta

.vs/

什么是GIT?

Git是一个免费的开源分布式版本控制系统(SCM),由Linus Torvalds于2005年(Linux操作系统的创始人)开发。它的创建是为了控制从小到大的项目的速度和效率。谷歌、Facebook、微软等领先公司每天都在使用GIT。

如果你想了解更多关于GIT的知识,请查看这个快速教程,

首先,确保已经设置好Git环境。您需要设置本地环境和Git存储库(我更喜欢Github.com)。

GIT客户端应用程序Mac/Windows

对于GIT gui客户端应用程序,我建议你去Github.com,

GitHub是一个可以与朋友、同事、同学和完全陌生的人分享代码的地方。超过500万人使用GitHub一起创建令人惊叹的东西。

Unity3d设置

你需要做这些设置

切换到“编辑→项目设置→编辑器→版本控制模式”中的“可见元文件”。

在Unity中启用外部选项→Preferences→Packages→Repository

在“编辑→项目设置→编辑器→资产序列化模式”中切换到“强制文本”。

来源: 使用Git与3D游戏源代码控制

I suggest that you make a .gitignore file that includes everything other than the assets folder (all the other files that are originally inside a unity project). Next, you should place all your game projects in one folder. Next, duplicate the .gitignore in every single project folder for your games. This will exclude the libraries and unnecessary folders inside your projects other than the assets. If you have any projects you don't want, then put them in a new .gitignore inside where your game projects are stored. Note: You can have multiple .gitignore's and .gitignore is based on relative paths. I hope that helped!