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

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

这意味着什么?


当前回答

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

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

其他回答

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

我在/.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

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

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

taskkill /F /IM java.exe

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

kill -9 `pidof java`

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

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

码头工人ps-a

要阻止它们,只需运行

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

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