我的本地git存储库中的一个文件发生了问题。当我试图改变分支时,它会说:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
这意味着什么?
我的本地git存储库中的一个文件发生了问题。当我试图改变分支时,它会说:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
这意味着什么?
当前回答
在使用gitkraken和命令提示符时,我遇到了同样的问题。然后我运行gitgc命令,它解决了我的问题。所以我很高兴,想分享一些可能有帮助的观点。
gitgc将做什么?
gitgc删除以前调用gitadd时可能创建的无法访问的对象。
何时运行git-gc?
在doc中,鼓励用户在每个存储库中定期运行此任务,以保持良好的磁盘空间利用率和良好的操作性能。
如何使其自动配置?
一些git命令可能会自动运行gitgc;有关详细信息,请参阅下面的--auto标志。如果你知道你在做什么,你只想在没有进一步考虑的情况下永久禁用这个行为,那么就这样做
git config --global gc.auto 0
其他回答
我尝试了这一页上的每一条提示,但没有任何帮助。我正在进行git获取和git重置——硬起源/开发给了我一个未知的错误。我无法重置为最新提交。
有帮助的是检查另一个分支,然后检查上一个分支。很奇怪,但它解决了问题。
我在/.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
如上所述,其他东西保存着这些文件。问题是,这个程序对我们来说并不可疑。我正在尝试从控制台中进行git拉取,同时打开了GitKraken。关闭GitKraken解决了问题。
正如上面的答案中所提到的,yes文件可能必须被其他java进程使用,摆脱这个问题的简单方法是,杀死所有java进程,然后执行git pull。
对于windows,关闭所有java进程:
taskkill /F /IM java.exe
对于Linux,杀死所有java进程:
kill -9 `pidof java`
这可能是一个单独的gitk窗口,用于查看一些git历史记录。
只需关闭该窗口即可解决该问题。