我的本地git存储库中的一个文件发生了问题。当我试图改变分支时,它会说:

Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)

这意味着什么?


当前回答

在我的例子中(Win8.1,TortoiseGit正在运行),锁定文件的是名为“TortoiseSVN状态缓存”的进程。

杀死它让我可以运行“git-gc”而不再出现任何问题。上述过程由TortoiseGit启动,因此无需手动重新启动。

其他回答

我以管理员身份重新启动PHPStorm(插入程序)解决了这个问题

在尝试了各种解决方案后,gitclean-f终于帮了我。

编辑:我几次又碰到了这个问题——关闭所有依赖git的进程似乎有帮助(比如gitbash、EclipseIDE等)

我在Windows7上遇到了这种问题,结果是由于一些孤立的git.exe进程。

要解决此问题,请打开任务管理器并终止所有git.exe进程。

由于git命令是短时间的,因此您通常不会在任务管理器中看到任何git.exe。当它们出现时,通常意味着出现了问题,您应该终止这些进程。

运行后命令

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

我看到文件已被删除。

对我来说,我必须进入.git文件夹并删除index.lock文件。之后,我可以像往常一样撤销。