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 - 忽略库的主要内容,如果未能解决你的问题,请参考以下文章