共有 git リポジトリがありますが、プッシュすると「リポジトリ データベース ./objects にオブジェクトを追加するための権限が不十分です」というエラー メッセージが表示されるという問題がありました。
私はすでにここで解決策について読んでいます: GitHubへのプッシュエラー - リポジトリデータベースにオブジェクトを追加するための不十分な権限とここ: gitプッシュの権限を尊重しますか? 他の解決策や同様の問題をウェブで検索しましたが、成功しませんでした。リポジトリは sharedRepository = 0660 で構成されていませんでしたが、現在は構成されています。「group」、「true」、「all」も試しましたが、問題は解決しませんでした。
リモート リポジトリに git push を実行すると、「-r--r-----」のアクセス権を持つファイルが作成されます。たとえば、ls -l が出力するファイル ./objects/0f/87b18a145ebd187cc1e5bed9f6ea90901bc207 の場合:
-r--r----- 1 rcosta project 166 2012-07-04 20:25 87b18a145ebd187cc1e5bed9f6ea90901bc207
git構成は次のとおりです。
[core]
repositoryformatversion = 0
filemode = true
bare = true
sharedRepository = 0660
を使用してファイルのアクセス許可をリセットしましchmod -R g+ws *
た。プロジェクトにアクセスする他のすべてのユーザーに対してもこれを行いました。私はシステムの管理者ではないので、それぞれがログインしてコマンドを実行しました。すべてのユーザーがproject
グループに属します。
SSH経由でリポジトリにアクセスします。コマンドラインを実行することで、各メンバーのリポジトリが複製されました。
git clone username@uni-server.de:/path/to/projectname.git
問題を解決する方法がわかりません。すべてのファイルは、「プロジェクト」グループのすべてのユーザーに対して読み取りと書き込みのアクセス許可を持っている必要があります。これにより、誰もが任意のファイルを変更およびプッシュできます。
助けてくれてありがとう!
ロバート。