git remote warning unable to unlink [FILENAME] Permission denied
2017-12-29 19:19
591 查看
前言
有同事反馈创建分支时出现了错误,查看walle日志发现报错如下
这里有几点需要注意下
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,因为他只知道报错了,但是不记录执行那个步骤时出错了,因为执行相关的操作没有问题,但是就是有报错信息
有同事反馈创建分支时出现了错误,查看walle日志发现报错如下
[www@springboard MainWeb]$ git push origin newer Total 0 (delta 0), reused 0 (delta 0) remote: warning: unable to unlink application/folder/index.html: Permission denied remote: warning: unable to unlink application/service/AppExternalservice.php: Permission denied remote: warning: unable to unlink application/service/UserNotifyService.php: Permission denied remote: warning: unable to unlink application/views/company/qad/adminShow.php: Permission denied remote: warning: unable to unlink source/js/360ctf/ictf-competition.js: Permission denied remote: fatal: cannot create directory at 'application/controllers/commands/shell/ai': Permission denied To git@192.168.10.201:/home/git/workshop/MainWeb.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 warning: remote HEAD refers to nonexistent ref, unable to checkout.
- git clone问题: warning: remote HEAD refers to nonexistent ref, unable to checkout
- git clone问题: warning: remote HEAD refers to nonexistent ref, unable to checkout
- GitHub git clone时,提示warning: remote HEAD refers to nonexistent ref, unable to checkout.
- git clone时,提示warning: remote HEAD refers to nonexistent ref, unable to checkout.
- git clone时,提示warning: remote HEAD refers to nonexistent ref, unable to checkout.
- git 错误: Unable to find remote helper for 'https'解决方法
- git 错误: Unable to find remote helper for 'https'
- fatal: Unable to find remote helper for 'https' (git push -u origin master)(Red Hat /centos6.7)
- warning: remote HEAD refers to nonexistent ref, unable to checkout.
- git clone templates not found / Unable to find remote helper for 'https' 错误
- 解决git的这个错误:fatal: Unable to find remote helper for 'https'
- git error: unable to unlink old (Permission denied)
- remote: Permission to xxxxx/javaeelzw.git denied to xxxx. fatal: unable to access 'https://git
- git fatal: Unable to find remote helper for 'https'
- warning: remote HEAD refers to nonexistent ref, unable to checkout.解决
- 纠错: git push error “fatal: Unable to find remote helper for 'https'"
- Git出现fatal: Unable to find remote helper for 'https'
- linux rhel6.2 解决 git 使用错误:fatal: Unable to find remote helper for 'https'
- warning: 远程 HEAD 指向一个不存在的引用,无法检出(warning: remote HEAD refers to nonexistent ref, unable to checkout)