Unity Git - 忽略库

Unity Git - Ignore Library

过去两天,我们一直在尝试使用 Unity 在 Mac 和 Pc 之间的项目中设置 Git。我们让它有点工作,但我们仍然存在元数据问题和 Library/AssetDatabase3 中的冲突。

我们在 .gitignore 文件中得到了整个 Library 文件夹,但出于某种原因,其中的一些文件似乎没有被忽略。

我们还将在提交期间获得大量元数据列表,而不是只看到实际更改的文件更改,将会有数百个元数据的列表。再次来自图书馆。

知道为什么 Library 文件夹没有被忽略文件完全忽略吗?冲突问题似乎来自 assetDabase 文件。 Mac 和 Pc 之间的良好工作流程有什么建议吗?

即使将文件添加到 gitignore 之后,Git 可能仍然知道您添加的文件。

尝试提交您的实际更改,然后运行执行以下命令。

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

强烈建议您根据 this guide 设置 Git 存储库。

您应该使用 Unity 的 "meta" 文件进行资产序列化,这样您就可以在版本控制中忽略 Library 文件夹。

元文件包括资产导入设置、GUID 信息等。此信息通常存储在 Library 文件夹中,该文件夹将在每台计算机导入资产时自动生成。元文件中包含的数据很重要,必须在计算机之间保持一致; Library中的其余信息不一定一致,会在版本控制中造成不必要的冲突。

我最近遇到了这种情况,发现问题是我的整个 Unity 项目都在存储库的一个文件夹中,而 gitignore 使用的语法是

/[Ll]ibrary/

它只搜索与 gitignore 本身处于同一级别的文件夹,而

[Ll]ibrary/

没有前导 / 也会搜索所有子文件夹。删除前导 / 导致它正确地忽略库。希望这对您有所帮助!

编辑: 应该注意的是,如果您出于某种原因碰巧在别处使用该名称,此解决方案还将导致它忽略任何其他名为 Library 的文件夹。