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

我正在使用Amazon EC2来托pipe通过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

错误跟踪显示权限被拒绝创build文件。 请你能告诉我哪里出错了吗?

你可能没有做这个教程的一部分:

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

我相信如果你跑

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

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

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

 /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