繁体   English   中英

Git rebase 出现“取消文件链接失败”错误

[英]Git rebase got 'unlink of file failed' error

使用msysgit 1.7.0.2 ,在执行git rebase -i ,它挂起并且没有消息。
输入ctrl+c 后,我可以看到

'unlink of file failed, should I try again (y/n)?'

然后我尝试了git rebase --abort但得到了同样的错误信息。 所以现在它被困在 rebase 过程的中间。 此错误似乎是由只读文件引起的。

有没有办法解决这个问题?

您是否尝试过set GIT_ASK_YESNO=false

这个Google 群组线程在最近的 mingw 演变中提到了它:

利用新的环境变量GIT_ASK_YESNO来支持最近实现的回退,以防 Windows 上使用的文件的unlinkrenamermdir失败。

您使用的 Windows 版 Git 的确切版本是什么?
注意: msysgit 设置与“Git for Windows”设置不同,另请参见“ msysgit 和 cygwin + git 之间的区别? ”)


git 2.8.4(2016 年 6 月)确实提到了问题 755 ,这也应该可以缓解这个问题( 提交 2db0641 ):

确保子进程不会继承临时文件句柄


另请参阅 Git 2.19(2018 年第三季度):“ Git - 文件 .idx 和 .pack 的取消链接失败(该文件的唯一进程拥有句柄是 git.exe) ”。

我不知道它是否适用于您的情况,但我刚刚遇到了与 1.7.10.msysgit.1 类似的情况(与 Ubuntu 服务器上的网络共享交谈)。 就我而言,失败的合并使 root 拥有的多个对象具有 -r--rwSr-- 权限。 一个简单的 SSH 登录和

sudo chown steve: .git/*

修复了一个问题(对于我的用户 - 除非你叫 steve,否则你需要将其更改为你的用户名!),以及

chmod -R 0755 .git/*

固定另一个。

可能有一个文件实例导致错误在 git 中弹出,请尝试关闭该文件的所有其他实例,然后在 git 中按“y”。

希望它能解决问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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