生产服务器上的Git stash权限被拒绝

时间:2013-05-15 06:01:51

标签: git git-stash

我尝试使用'deploy'用户在我的生产服务器上执行git stash,但它会出错

/usr/lib/git-core/git-stash: 440: cannot create /app/app_name/.git/logs/refs/stash: Permission denied

“root”用户没有显示错误。

可能是错误的原因以及如何解决?

1 个答案:

答案 0 :(得分:0)

这取决于您创建回购的方式。
尝试使用git init --shared创建的仓库,以便同一组的多个用户能够访问和写入您的仓库。

--shared[=(false|true|umask|group|all|world|everybody|0xxx)]
  

指定Git存储库将在多个用户之间共享   这允许属于同一组的用户进入该存储库。指定后,将设置配置变量“core.sharedRepository”,以便使用请求的权限创建$GIT_DIR下的文件和目录。
  如果未指定,Git将使用umask(2)报告的权限。

您可以在“Using Git without Sudo in many accounts”中找到更多内容。

对于您当前的回购,请确保deploy有权访问/app/app_name/.git

OP rtcoms confirms

  

root用户拥有3个文件。它确实有效。