过去两天,我们一直在Mac和PC之间的项目中尝试使用Unity设置Git。我们已经可以正常工作了,但是在Library / AssetDatabase3中,元数据和冲突仍然存在问题。
我们在.gitignore文件中获得了整个Library文件夹,但由于某些原因,似乎其中的某些文件未被忽略。
我们还将在提交期间获得大量的元数据列表,而不是仅看到实际更改的文件的更改,而是会有数百个元数据的列表。再次来自图书馆。
任何想法,为什么图书馆文件夹不会被忽略文件完全忽略?与冲突有关的问题似乎来自assetDabase文件。对Mac和PC之间的良好工作流程有何建议?
即使将文件添加到gitignore中,Git仍可能知道您添加的文件。
尝试提交您的实际更改,然后运行以下命令。
git rm -r --cached .
git add .
git commit -m "fixed untracked files"
强烈建议您根据this guide设置Git回购。
您应该使用Unity的“元”文件进行资产序列化,这将使您可以忽略版本控制中的Library
文件夹。
元文件包括资产导入设置,GUID信息,等等。此信息通常存储在Library
文件夹中,每台计算机在导入资产时都会自动生成该信息。元文件中包含的数据很重要,并且计算机之间必须保持一致。 Library
中的其余信息不一定一致,并且会在版本控制中引起不必要的冲突。
我最近遇到了这种情况,发现问题是我将整个Unity项目都存储在仓库中的文件夹中,而gitignore使用的语法是
/[Ll]ibrary/
仅搜索与gitignore本身处于同一级别的文件夹,而
[Ll]ibrary/
没有前导/也搜索所有子文件夹。删除前导/导致其正确忽略库。希望这会有所帮助!
编辑:应该注意的是,如果由于某种原因碰巧在其他地方使用该名称,此解决方案也会导致它忽略任何其他名为Library的文件夹。