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

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

这意味着什么?


当前回答

如上所述,其他东西保存着这些文件。问题是,这个程序对我们来说并不可疑。我正在尝试从控制台中进行git拉取,同时打开了GitKraken。关闭GitKraken解决了问题。

其他回答

我在Windows中遇到了这个问题。我关闭了我的IDE(Android Studio),并在gitshell中选择了YES。它奏效了。

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

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

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

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

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

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

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

这可能对某人有用;如果以上所有操作都不适用,请执行以下步骤:

关闭您的IDE(我的是Eclipse,不确定它是否适用于Intellij和其他应用程序)或任何其他可能使用git的应用程序。从命令行打开git(在我的例子中,我有gitbash),并运行其他人提到的gitgc。

这对我有魔力。