[英]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 上使用的文件的unlink
、rename
或rmdir
失败。
您使用的 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.