git remote warning unable to unlink [FILENAME] Permission denied

编程入门 行业动态 更新时间:2024-10-26 20:23:03

git remote <a href=https://www.elefans.com/category/jswz/34/1763703.html style=warning unable to unlink [FILENAME] Permission denied"/>

git remote warning unable to unlink [FILENAME] Permission denied

  • 前言

有同事反馈创建分支时出现了错误,查看walle日志发现报错如下

[www@localhost Demo]$ git push origin  newer
Total 0 (delta 0), reused 0 (delta 0)
remote: warning: unable to unlink app/folder/index.html: Permission denied
remote: warning: unable to unlink source/js/demo/demo.js: Permission denied
remote: fatal: cannot create directory at 'app/Ctl/commands/shell/demo': Permission denied
To git@192.168.100.200:/home/git/Demo.git* [new branch]      newer -> newer

这里有几点需要注意下

  • 1、用户为www,不是root
  • 2、涉及到push时才会有此报错

  • 分析

一开始以为是php执行命令时权限有问题,因为执行php命令的用户是www,所以可以直接在www用户下执行相关命令,执行相关命令后和日志中打印的情况一样,

1、到这里就查google了,查了半天也没有结果,大多数都是权限的问题,但是在这里修改权限后并没有解决问题,

2、用其它的仓库做测试,没有发现此类问题,这里就挑选了一个权限控制比较严格的仓库,然后在远程克隆后,做提交测试没有发现异常

3、在网上继续查阅的时候,发现有网友有遇到类似的问题的时候和服务器端的hook有关,然后就做了以下测试

  • a、对比发现,两个仓库确实一个有hook文件,post-receive,这就是一个shell脚本,和客户端推送有送的,即远程客户端有推送操作,就会自动执行此脚本,而另外一个idme钩子脚本
  • b、将钩子文件暂时挪走后,再测试,一切正常

4、到这里问题就比较明朗了,和钩子有关

5、从报错信息来看,只能和权限相关,再联想到钩子文件,惟一可能有关联的就是钩子文件里面涉及到的路径(因为一般情况就是,有合并master操作,然后把master分支代码拉到指定的位置)

6、测试后发现问题奇迹般的解决了

到这里,其实也不怨git,因为他只知道报错了,但是不记录执行那个步骤时出错了,因为执行相关的操作没有问题,但是就是有报错信息

更多推荐

git remote warning unable to unlink [FILENAME] Permission denied

本文发布于:2024-02-11 15:11:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681647.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:warning   unable   git   remote   Permission

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!