我的本地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)
这意味着什么?
当前回答
正如上面的答案中所提到的,yes文件可能必须被其他java进程使用,摆脱这个问题的简单方法是,杀死所有java进程,然后执行git pull。
对于windows,关闭所有java进程:
taskkill /F /IM java.exe
对于Linux,杀死所有java进程:
kill -9 `pidof java`
其他回答
我遇到了这个问题,并通过命令gitgc解决了它上面的命令删除临时文件和不必要的文件。(垃圾收集器。)
我在Windows7上遇到了这种问题,结果是由于一些孤立的git.exe进程。
要解决此问题,请打开任务管理器并终止所有git.exe进程。
由于git命令是短时间的,因此您通常不会在任务管理器中看到任何git.exe。当它们出现时,通常意味着出现了问题,您应该终止这些进程。
我在Windows中遇到了这个问题。我关闭了我的IDE(Android Studio),并在gitshell中选择了YES。它奏效了。
如果您正在开发web应用程序,一个常见的原因是忘记关闭服务器。例如,这可能是一个简单的Node.js进程,或者在windows上,您的IIS进程作为后台进程运行得更加不显眼。
在使用gitkraken和命令提示符时,我遇到了同样的问题。然后我运行gitgc命令,它解决了我的问题。所以我很高兴,想分享一些可能有帮助的观点。
gitgc将做什么?
gitgc删除以前调用gitadd时可能创建的无法访问的对象。
何时运行git-gc?
在doc中,鼓励用户在每个存储库中定期运行此任务,以保持良好的磁盘空间利用率和良好的操作性能。
如何使其自动配置?
一些git命令可能会自动运行gitgc;有关详细信息,请参阅下面的--auto标志。如果你知道你在做什么,你只想在没有进一步考虑的情况下永久禁用这个行为,那么就这样做
git config --global gc.auto 0