Unity 不是 GameObjects 的版本控制检查器设置

Unity not Version Controlling Inspector Settings for GameObjects

我在团队中从事 Unity 项目,自然地,我们使用 Github 进行版本控制。

不幸的是,我们遇到了检查器设置不受版本控制的问题,这导致我们所有的游戏对象都失去了脚本的出口,并且在我们切换分支时所有连接都丢失了。

在处理某事时,我们会将对象连接到脚本并得到如下内容:

但是当我们切换分支时我们得到这个,并且必须重新连接所有东西:

随着项目的不断发展,这非常烦人! 我们有两个 gitignore 文件,一个在项目的根级别:

./Project

中有一个

还有其他人在撒谎,但我认为他们不会以任何方式影响项目文件夹(Unity 项目所在的位置)..

我个人认为Project/Library/assetDatabase3是存放inspector设置的文件,但是我错了

非常感谢任何帮助。

场景的检查器设置存储在场景资产文件中。

场景资产文件和脚本是否在git控制之下?

如果您调整其中一个场景的设置,您应该能够在 git 中看到更改的文件。

编辑 有关脚本的信息存储在 ShareView.unity 场景文件中。 例如

m_Script: {fileID: 11500000, guid: e639a2fe330734500b135115fa275a75, type: 3}

这里引用的guid应该对应script.meta文件 例如

fileFormatVersion: 2 guid: e639a2fe330734500b135115fa275a75

我 git 不控制资产数据库或 /Library 中的任何内容。当从另一个 git 用户那里获得提交更改时,unity 会重新导入我的资产(并且可能会从内存中重新创建 .meta 文件)。 我想知道是否有一些元信息存储在您的机器独有的资产数据库文件中,这会导致您的问题。

建议您尝试从 git 控件中删除资产数据库文件

编辑。

是的,不要 git 忽略 .meta 文件。 Unity 依靠它们将事物联系在一起

你的 gitignore 不应该忽略元文件,它们对 unity 的功能至关重要。一个基本的 Unity .gitignore 文件应该只忽略 *.pidb.meta*.pdb.meta.

删除 *.cs.meta*.meta 条目。