我的本地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)
这意味着什么?
当前回答
在尝试了各种解决方案后,gitclean-f终于帮了我。
编辑:我几次又碰到了这个问题——关闭所有依赖git的进程似乎有帮助(比如gitbash、EclipseIDE等)
其他回答
我在做git拉动时遇到了这个问题。
我尝试了gitgc,它解决了我的问题。
在上面的答案似乎都不起作用之后,运行gitfetch-p为我完成了任务。
https://git-scm.com/docs/git-fetch
您可能会在Git 2.29(2020年第4季度)中看到这种错误:MinGW上的“unlink”仿真已经优化。
见Jeff Hostetler(Jeff Hostet ler)提交的680e0b4(2020年8月17日)。(由Junio C Hamano(吉斯特)于2020年8月19日提交5a04826合并)
mingw:提高mingw_unlink()的性能签字人:Jeff Hostetler签字人:Johannes Schindelin
更新mingw_unlink(),首先尝试删除具有现有权限的文件,然后再尝试强制删除。Windows在尝试删除只读文件时引发错误。mingw_unlink()兼容性包装器总是在调用_wunlink()之前尝试_wchmod(666)文件以避免该错误。然而,由于工作树中的大多数文件都是可写的,这通常是浪费精力。更新mingw_unlink(),直接调用DeleteFileW(),如果成功,则返回。如果失败,则返回现有代码路径以更新权限,并使用_wunlink()获取现有错误代码映射。
我在运行gitBash和EclipseEGit的同时遇到了这个问题。解决方案:关闭Eclipse。也不会像@khilo提到的那样运行gitgc。
正如上面的答案中所提到的,yes文件可能必须被其他java进程使用,摆脱这个问题的简单方法是,杀死所有java进程,然后执行git pull。
对于windows,关闭所有java进程:
taskkill /F /IM java.exe
对于Linux,杀死所有java进程:
kill -9 `pidof java`