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

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

这意味着什么?


当前回答

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

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

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

其他回答

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

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

如果您正在使用Docker并运行Windows 10,您可能需要停止文件运行所在的容器。要显示容器的状态,请运行

码头工人ps-a

要阻止它们,只需运行

docker stop<容器名称或容器id>

这对我很有用,因为我正在使用.sh文件运行本地文件

我在做git拉动时遇到了这个问题。

我尝试了gitgc,它解决了我的问题。

在上面的答案似乎都不起作用之后,运行gitfetch-p为我完成了任务。

https://git-scm.com/docs/git-fetch

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

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

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