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

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

这意味着什么?


当前回答

在Windows 8上:我运行了git-gc,它说git-gc已经在运行,我运行了git-gc-force,垃圾收集器运行了。

然后,我可以切换分支和合并而没有任何问题,尝试git-gc-force。

也许gc进程没有因为这样或那样的原因而优雅地停止。

其他回答

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

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

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

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

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

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

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

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

为我工作,试过窗户:

停止服务器从IDE运行或关闭IDE

Intellij/Eclipse或任何,它都会起作用。

我在运行gitBash和EclipseEGit的同时遇到了这个问题。解决方案:关闭Eclipse。也不会像@khilo提到的那样运行gitgc。