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

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

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

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

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

【问题讨论】:

标签: git unity3d metadata conflict gitignore


【解决方案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中的其余信息不一定一致,会造成不必要的版本控制冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2021-02-19
      • 2013-11-14
      • 2012-05-09
      • 2016-04-09
      • 2011-11-12
      相关资源
      最近更新 更多