[英]git pull causing "unlink of file failed" error
这应该在 Git 2.8(2016 年 3 月)中修复
请参阅Johannes Schindelin ( dscho
)的提交 d562102 、 提交 dcacb1b 、 提交 df617b5 、 提交 0898c96 (2016 年 1 月 13 日)。
(由Junio C Hamano -- gitster
--在提交 3c80940中合并,2016 年 1 月 26 日)
fetch
: 在垃圾收集之前释放包文件在自动 gc'ing 之前,我们需要确保打包文件被释放,以防它们需要重新打包和垃圾收集。
许多在退出之前运行“
gc --auto
”的代码路径保持包文件的映射并将文件描述符留给它们打开,这对无法删除打开的文件的系统不友好。
他们现在在这样做之前关闭包装。
这修复git-for-widows
问题 500 。
查看用于验证该新方法的测试,也许您可以(因为 Git 2.8 尚未推出)人为地提高gc.autoPackLimit
。
git config gc.autoPackLimit 10000
git fetch
git config gc.autoPackLimit 50 # default value
你在使用 cmd 吗? 如果是,请在切换到 git-bash 后尝试 git pull(运行 GIT 目录 bin 文件夹中的 bash.exe 文件),这应该没有任何问题(与 Windows 相关的错误)并且 git-bash 是 UNIX。
我刚遇到这个问题,还尝试运行git gc
并确保没有进程正在使用受 unlink 影响的文件,但没有成功。
什么解决了我的问题:右键单击包含文件的文件夹 > 属性 > 安全选项卡。 “组或用户名”列表中缺少我的用户。 添加它解决了这个问题。
我的问题不是由拉动触发的,而是由另一个分支的结帐触发的。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.