我试图使用'deploy'用户在生产服务器上执行git stash,但由于
/usr/lib/git-core/git-stash: 440: cannot create /app/app_name/.git/logs/refs/stash: Permission denied
该错误不会针对“ root”用户显示。
错误的原因可能是什么?如何解决?
这取决于您如何创建存储库。
尝试使用git init --shared
创建的git init --shared
,以使同一组的多个用户能够访问和写入您的仓库。
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]
指定要在多个用户之间共享Git存储库。
这允许属于同一组的用户推入该存储库。 指定后,设置配置变量“core.sharedRepository
”,以便使用请求的权限创建$GIT_DIR
下的文件和目录。
如果未指定,则Git将使用umask(2)报告的权限。
您可以在“ 在许多帐户中使用不带Sudo的Git ”中找到更多信息。
对于当前的存储库,请确保deploy
有权访问/app/app_name/.git
。
root
用户拥有3个文件。 它确实起作用。