繁体   English   中英

git pull 导致“文件取消链接失败”错误

[英]git pull causing "unlink of file failed" error

我正在尝试执行git pull并遇到可怕的“取消文件 xxx 的链接失败”错误。

我已经尝试过这个答案中定义的 ProcessExplorer; 使用 find 函数不会返回使用相关文件的任何进程。

我也试过运行这个答案中提到的git gc ,它运行了,但我仍然得到错误。

我对有问题的文件有写权限。

还有其他建议吗? 这导致了一个重大问题。

这应该在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM