繁体   English   中英

Git无法创建文件权限被拒绝

[英]Git unable to create file permission denied

我正在使用Amazon EC2来托管通过git部署到服务器的网站。 我之前在同一种EC2 Ubuntu Linux服务器实例上使用过这个教程,它运行得很完美。 但是,当我尝试推送到服务器时,我收到以下错误跟踪:

教程: http//toroid.org/ams/git-website-howto

跟踪:

$ git push origin master

Counting objects: 5, done.
Writing objects: 100% (3/3), 250 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: unable to create file index.html (Permission denied)
To ssh://ubuntu@myserv.er/var/www/website.git
   8068aac..04eae11  master -> master

我目前只在存储库中有一个文件,即index.html

错误跟踪显示正在拒绝创建该文件的权限。 请问你能告诉我哪里出错了?

如果你跑,我相信

 sudo chown -R git:git /srv/git/ 

这是来自如何在执行git push时修复.git /目录被拒绝的权限?

您可能没有完成本教程的这一部分:

首先,工作树(上面的/var/www/www.example.org)必须由运行钩子的用户写入(或者用户需要sudo访问权来运行git checkout -f或类似的东西)。

仅供参考,我有这个错误,因为我做了一个钩子来更新单独的网站根目录中的文件。 例如:

/var/www/project.git  # (where we push updates)
/var/www/project.com  # (where the website exists)

我忘了将组权限添加到project.com目录。 这使得一切正常,一旦我完成下一次提交/推送,index.html就会出现在/var/www/project.com目录中!

假设您将用户添加到“开发人员”组,完整代码可以使其工作:

sudo chmod -R g+ws /var/www/project_name.git
sudo chgrp -R developers /var/www/project_name.git
sudo chmod -R g+ws /var/www/project_name
sudo chgrp -R developers /var/www/project_name

以及共享存储库的git设置:

git config core.sharedRepository group

您的反病毒或其他程序可能会阻止将该文件写入您的文件夹。 如果仔细观察,您会发现除了被拒绝权限的文件外,所有其他文件都已创建。 您可能正在使用防止创建某些文件类型的保护软件,无论您登录的用户类型如何,在您禁用该软件之前都不会创建该文件。

因此,检查那些运行Windows的防病毒软件是否落后于此。

暂无
暂无

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

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