我的本地git存储库中的一个文件发生了问题。当我试图改变分支时,它会说:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
这意味着什么?
我的本地git存储库中的一个文件发生了问题。当我试图改变分支时,它会说:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
这意味着什么?
当前回答
如果您正在开发web应用程序,一个常见的原因是忘记关闭服务器。例如,这可能是一个简单的Node.js进程,或者在windows上,您的IIS进程作为后台进程运行得更加不显眼。
其他回答
运行后命令
git rm -rf foo.bar
我看到了错误
Unlink of file 'foo.bar' failed. Should I try again? (y/n)
因为另一个程序正在使用此文件。例如,当我在调试模型中运行Java web应用程序或在服务器上运行web应用程序时,我不能删除日志文件。关闭应用程序服务器(或关闭调试进程),然后重试
git rm -rf foo.bar
我看到文件已被删除。
我遇到了这个问题,并通过命令gitgc解决了它上面的命令删除临时文件和不必要的文件。(垃圾收集器。)
我在/.git/objects/pack文件夹中的.tmp文件中遇到了这个问题。我认为在推或拉过程中发生了一些故障,所以我删除了这些临时文件,并将HEAD重置为上次提交。不确定是否建议这样做,但这对我有用。此外,git-count-objects-v还给了我一个不属于pack文件夹的.tmp文件列表。
或者要在windows git中隐藏y/n消息,请打开cmd.exe并运行:
SETX GIT_ASK_YESNO false
参见此处:https://twitter.com/petercamfield/status/494805475733807104
我在进行git拉取时也遇到了同样的问题,如上所述,这是因为一个保存这些文件的程序不允许git拉。关闭程序有帮助。通常,签入文件的IDE(如Eclipse)将在后台保存文件。关闭同一个并重新运行git pull为我解决了问题。
在我的例子中,没有进程触及文件或目录。如果路径很长,可能会发生这种情况,因为操作系统限制(windows)。尝试在全局git配置中启用longpath支持标志,如下所示:
git config --global core.longpaths true
或者尝试设置是/否回答标志,如果这对你来说不冲突
set GIT_ASK_YESNO=false
如果路径太长,我还没有找到成功的解决方案。