我应该从游戏的源代码控制存储库中排除哪些文件类型?


11

我已经开始与朋友一起使用Unity进行个人项目,我们已经建立了自己的源代码控制系统。

我知道以下事实:存在许多类型的文件,即在构建时在本地生成的文件(例如,Visual Studio文件)以及特定于特定计算机的文件,不应添加到源代码管理中,而是我不确定这些文件类型是什么。

我不想排除应该包含的任何生成文件,例如.meta文件。

有人将能够列出所有或至少所有不应该添加到版本控制中的通用文件类型,特别是对于Unity项目吗?

Answers:


9

对于当前版本的Unity,只需签入Assets文件夹和ProjectSettings文件夹中的任何内容。不要在“库”下或顶层检入任何东西。



5

文件类型的重要性不如文件的用途和来源。如您所说,在版本控制下(通常)可以从源文件生成的任何内容都没有包含在存储库本身中。

同样,应排除任何用户特定的内容,例如设置或配置文件。

除此之外,这实际上取决于您和您的项目。


2
我想我真正要的是简短列出标准统一项目中的哪些文件是生成的文件或特定于用户的文件。除了我手动创建的文件外,我对于哪个操作从何而来也一无所知。
SirYakalot

我知道了。我编辑了您的问题以澄清这一点,因为在我看到Unity时,它已被删除(或者我只是想念它)。

3

您可以看一下我在GitHub上的Unity项目Radius作为示例。或者Unity.gitignore在官方GitHub gitignore存储库中检出文件。

Damien Mayance在他的网站上也有关于Git和Unity项目的不错的指南。

确保您检入.meta文件,因为这是Unity用来引用每个资产的内容。您可以通过转到Edit->Project Settings->Editor并更改Version Control为在操作系统中将其隐藏Visible Meta Files

如果将unity项目存储在名为的文件夹中UnityProjectName,这就是您的.gitignore的外观。如果您仅将Unity项目文件夹作为GitHub存储库的根目录,则只需UnityProjectName/从下面的每个路径中删除即可。

.gitignore

# Ignore unneeded Unity files
# --------------------------------------------------
UnityProjectName/Temp/
UnityProjectName/obj/
UnityProjectName/Library/

UnityProjectName/*.csproj
UnityProjectName/*.unityproj
UnityProjectName/*.sln

# Ignore Custom Builds
# --------------------------------------------------
UnityProjectName/[Bb]uilds/

1

我不了解统一性,但您提到了Visual Studio。您通常可以在其中排除项目文件夹中的bin和obj文件夹(在某些项目类型中,bin文件夹还存储来自所包含项目的程序集,但是我认为这仅适用于某些类型的Web项目)。

也不要签入“ .csproj.user”和“ .suo”文件。这两种类型包括用户设置。如果您签入,则在更新源时,所有用户设置都会反映在其他计算机上。这很烦人,因为这些设置与构建或项目无关,而更多的是为每个开发人员的个性化需求配置ui,编辑器等。

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.