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

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

这意味着什么?


当前回答

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

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

taskkill /F /IM java.exe

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

kill -9 `pidof java`

其他回答

我在/.git/objects/pack文件夹中的.tmp文件中遇到了这个问题。我认为在推或拉过程中发生了一些故障,所以我删除了这些临时文件,并将HEAD重置为上次提交。不确定是否建议这样做,但这对我有用。此外,git-count-objects-v还给了我一个不属于pack文件夹的.tmp文件列表。

或者要在windows git中隐藏y/n消息,请打开cmd.exe并运行:

SETX GIT_ASK_YESNO false

参见此处:https://twitter.com/petercamfield/status/494805475733807104

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

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

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

这可能是一个单独的gitk窗口,用于查看一些git历史记录。

只需关闭该窗口即可解决该问题。

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

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

这对我有魔力。

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