我的本地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)
这意味着什么?
当前回答
您可能会在Git 2.29(2020年第4季度)中看到这种错误:MinGW上的“unlink”仿真已经优化。
见Jeff Hostetler(Jeff Hostet ler)提交的680e0b4(2020年8月17日)。(由Junio C Hamano(吉斯特)于2020年8月19日提交5a04826合并)
mingw:提高mingw_unlink()的性能签字人:Jeff Hostetler签字人:Johannes Schindelin
更新mingw_unlink(),首先尝试删除具有现有权限的文件,然后再尝试强制删除。Windows在尝试删除只读文件时引发错误。mingw_unlink()兼容性包装器总是在调用_wunlink()之前尝试_wchmod(666)文件以避免该错误。然而,由于工作树中的大多数文件都是可写的,这通常是浪费精力。更新mingw_unlink(),直接调用DeleteFileW(),如果成功,则返回。如果失败,则返回现有代码路径以更新权限,并使用_wunlink()获取现有错误代码映射。
其他回答
在使用gitkraken和命令提示符时,我遇到了同样的问题。然后我运行gitgc命令,它解决了我的问题。所以我很高兴,想分享一些可能有帮助的观点。
gitgc将做什么?
gitgc删除以前调用gitadd时可能创建的无法访问的对象。
何时运行git-gc?
在doc中,鼓励用户在每个存储库中定期运行此任务,以保持良好的磁盘空间利用率和良好的操作性能。
如何使其自动配置?
一些git命令可能会自动运行gitgc;有关详细信息,请参阅下面的--auto标志。如果你知道你在做什么,你只想在没有进一步考虑的情况下永久禁用这个行为,那么就这样做
git config --global gc.auto 0
我尝试了gitgc,它解决了我的问题。
如果您正在使用Docker并运行Windows 10,您可能需要停止文件运行所在的容器。要显示容器的状态,请运行
码头工人ps-a
要阻止它们,只需运行
docker stop<容器名称或容器id>
这对我很有用,因为我正在使用.sh文件运行本地文件
这里的解决方案对我有效:
这是一个特定于Windows的答案,所以我知道这与您无关。。。我只是为了未来搜索者的利益而加入它。在我的情况下,这是因为我从非提升的命令行运行Git。“以管理员身份运行”为我修复了它。
我在Windows7上遇到了这种问题,结果是由于一些孤立的git.exe进程。
要解决此问题,请打开任务管理器并终止所有git.exe进程。
由于git命令是短时间的,因此您通常不会在任务管理器中看到任何git.exe。当它们出现时,通常意味着出现了问题,您应该终止这些进程。