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

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

这意味着什么?


当前回答

这里的解决方案对我有效:

这是一个特定于Windows的答案,所以我知道这与您无关。。。我只是为了未来搜索者的利益而加入它。在我的情况下,这是因为我从非提升的命令行运行Git。“以管理员身份运行”为我修复了它。

其他回答

这可能意味着另一个程序正在使用该文件,这会阻止git在您尝试更改分支时将文件“移入”工作目录或移出工作目录。

我在Windows Vista上遇到过这种情况,eclipse是“使用”文件的程序。该文件可能在eclipse中没有实际打开,但可能是由eclipse运行的进程打开的。

在这种情况下,请尝试在可能使用过该文件的任何应用程序中关闭该文件。如果这不起作用,请完全退出可能已打开该文件的所有应用程序。

如果关闭IDE并运行此处列出的各种git命令无济于事,请尝试手动关闭所有正在运行的Java进程。我有一个可能是eclipse遗留下来的Java进程,它以某种方式打开了一个配置文件。

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

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

我在进行git拉取时也遇到了同样的问题,如上所述,这是因为一个保存这些文件的程序不允许git拉。关闭程序有帮助。通常,签入文件的IDE(如Eclipse)将在后台保存文件。关闭同一个并重新运行git pull为我解决了问题。

正如上面的答案中所提到的,yes文件可能必须被其他java进程使用,摆脱这个问题的简单方法是,杀死所有java进程,然后执行git pull。

对于windows,关闭所有java进程:

taskkill /F /IM java.exe

对于Linux,杀死所有java进程:

kill -9 `pidof java`