首页 > 解决方案 > 由于取消链接失败,无法结帐到不同的分支

问题描述

我一直遇到文件“shadercompiler-UnityShaderCompiler.exe0.log”无法取消链接的问题,我可以通过退出 Unity 来解决这个问题,但我不想经常这样做。

我已将它添加到 gitignore 文件中,但这似乎根本不起作用。

Unlink of file 'LDJAM44/Library/shadercompiler-UnityShaderCompiler.exe0.log' failed. Should I try again? (y/n) n
warning: unable to unlink 'LDJAM44/Library/shadercompiler-UnityShaderCompiler.exe0.log': Invalid argument

我想知道如何在不一遍又一遍退出 Unity 的情况下防止出现此错误。

提前感谢您的帮助!

标签: gitunity3dshaderunlink

解决方案


在这种情况下,Git 正在尝试删除一个文件,但由于它正在使用中而无法这样做。这是 Windows 的限制,在 Unix 系统上不会发生;Windows 不允许程序删除正在使用的文件。

看起来这个文件可能是一个日志文件,在这种情况下,您可能不想将其签入您的存储库。如果是这种情况,您可以将其添加到您的.gitignore文件中(可能加上您喜欢的 Unity 的一组通用 gitignore 规则中的任何其他规则),然后git rm -f在退出 Unity 后对文件执行一次提交。

一旦文件被忽略并且不再是存储库的一部分,Git 在更改分支或执行其他活动时应该忽略它,只要它在两个分支的存储库中都被忽略并且不存在。请注意,git rm在这种情况下,这是必需的,因为添加文件.gitignore对存储库中已经存在的文件没有影响。


推荐阅读