1 年以上、GIT とディレクトリ/ファイルのアクセス許可に問題がありました。複数の開発者が ssh (ssh://example/git/repository として設定されたオリジン) を使用してコードをプッシュする中央リポジトリがあります。次のようにリポジトリを設定しました。
1) 中央リポジトリの構成ファイル: [core] repositoryformatversion = 0 filemode = true ベア = true sharedrepository = 0660
2) すべてのリポジトリ ディレクトリのパーミッションが 770 に設定されている (rwxrwx---) 3) ./objects/XX および ./objects/info 内のすべてのファイルが 440 に設定されている (r--r-----) 4) すべてその他のファイルは 660 に設定されます (rw-rw----) 5) 所有権は root:group_name に設定されます
(これは、このスレッドのトップの応答で推奨されたセットアップからのものであることに注意してください: Making git push reject permissions? )
アクセスしているすべてのユーザーは、グループ「group_name」のメンバーです。
問題は、user1 がリポジトリにプッシュすると、一部のファイルのファイル所有権が user1:user1 に設定されることです。これは、グループが変更されることを意味します。これが発生すると、リポジトリ内の必要なファイルからの読み取り、書き込み、または実行の権限がなくなるため、他のユーザーはリポジトリからプッシュ (またはプル) できなくなります。
Stack Overflow およびネット上の他のほとんどすべての場所に関する問題に関して見つけられるすべてのスレッドを読みましたが、この同じ問題に遭遇し続けています。
問題は、この問題が GIT の問題なのか UNIX の問題なのかわかりません。また、修正方法もわかりません。ユーザーがリポジトリにプッシュしたときにグループが変更されないようにするにはどうすればよいですか?