1

「デプロイ」ユーザーを使用して本番サーバーで git stash を実行しようとしましたが、次のようなエラーが発生します

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

「root」ユーザーにはエラーは表示されません。

エラーの原因と解決方法は?

4

1 に答える 1

0

リポジトリをどのように作成したかによって異なります。同じグループの複数のユーザーがリポジトリにアクセスして書き込むことができるように、 で
作成されたリポジトリで試してください。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

OP rtcoms は 確認します:

3 つのファイルがユーザーによって所有されていましたroot。そして、それはうまくいきました。

于 2013-05-15T06:09:15.123 に答える