我尝试使用'deploy'用户在我的生产服务器上执行git stash,但它会出错
/usr/lib/git-core/git-stash: 440: cannot create /app/app_name/.git/logs/refs/stash: Permission denied
“root”用户没有显示错误。
可能是错误的原因以及如何解决?
答案 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
。
root
用户拥有3个文件。它确实有效。