Unity Git - 忽略库

Posted

技术标签:

【中文标题】Unity Git - 忽略库【英文标题】:Unity Git - Ignore Library 【发布时间】:2015-09-25 13:26:19 【问题描述】:

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

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

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

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

【问题讨论】:

包含在这个 SO 答案中:***.com/questions/18225126/… 【参考方案1】:

我最近遇到过这种情况,发现问题是我将整个 Unity 项目放在 repo 的一个文件夹中,而 gitignore 使用的语法为

/[Ll]ibrary/

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

[Ll]ibrary/

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

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

嗨,不幸的是,这对我不起作用,实际上它搞砸了整个 Unity(每次启动时崩溃),我不得不回滚到旧提交。【参考方案3】:

强烈建议你按照this guide设置你的Git repo。

您应该使用 Unity 的“元”文件进行资产序列化,这将允许您忽略版本控制中的 Library 文件夹。

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

【讨论】:

以上是关于Unity Git - 忽略库的主要内容,如果未能解决你的问题,请参考以下文章

忽略已提交到 Git 存储库的文件 [重复]

git:配置要忽略的文件和目录

VsCode 添加忽略meta文件

忽略已经提交到Git存储库的文件[重复]

git如何忽略文件

忽略Git存储库中SVN中的文件