我的本地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)
这意味着什么?
当前回答
在我的例子中(Win8.1,TortoiseGit正在运行),锁定文件的是名为“TortoiseSVN状态缓存”的进程。
杀死它让我可以运行“git-gc”而不再出现任何问题。上述过程由TortoiseGit启动,因此无需手动重新启动。
其他回答
如果您正在使用Docker并运行Windows 10,您可能需要停止文件运行所在的容器。要显示容器的状态,请运行
码头工人ps-a
要阻止它们,只需运行
docker stop<容器名称或容器id>
这对我很有用,因为我正在使用.sh文件运行本地文件
正如上面的答案中所提到的,yes文件可能必须被其他java进程使用,摆脱这个问题的简单方法是,杀死所有java进程,然后执行git pull。
对于windows,关闭所有java进程:
taskkill /F /IM java.exe
对于Linux,杀死所有java进程:
kill -9 `pidof java`
在上面的答案似乎都不起作用之后,运行gitfetch-p为我完成了任务。
https://git-scm.com/docs/git-fetch
我遇到了这个问题,并通过命令gitgc解决了它上面的命令删除临时文件和不必要的文件。(垃圾收集器。)
在我的例子中,没有进程触及文件或目录。如果路径很长,可能会发生这种情况,因为操作系统限制(windows)。尝试在全局git配置中启用longpath支持标志,如下所示:
git config --global core.longpaths true
或者尝试设置是/否回答标志,如果这对你来说不冲突
set GIT_ASK_YESNO=false
如果路径太长,我还没有找到成功的解决方案。