0

会社の開発チーム用にGITリポジトリを設定していますが、興味深い問題が発生しているようです。

多くの場合、複数の人が同じブランチで作業する必要があるため、ブランチが作成されてステージングにプッシュされると、他の開発者はブランチをローカルリポジトリにプルして、コードの作業を開始します。ただし、.git / logs / refs / headsにあるステージングサーバーのブランチには、ブランチをステージング環境にプッシュしたユーザーに対して、ユーザーとグループの両方に設定されたアクセス許可があります。

GITでこのデフォルトの動作を変更する方法はありますか?ユーザーグループを設定しており、ブランチのグループ権限を手動で変更すると、プッシュできますが、cronジョブを実行して、権限を常に変更する必要はありません。

この画像では、権限が手動で変更された2つのリポジトリと、プッシュされたばかりのリポジトリを確認できます。

GIT牧場と許可のリスト

4

1 に答える 1

1

これは、新しいファイルを作成するプロセスのクレデンシャルが原因で、それらがgitリポジトリにあるか作業コピーにあるかに関係なく発生します。また、プッシュがSSHを介している場合はSSHセッションから、カスタムgitプロトコルをプッシュしている場合はgitサーバープロセスによって、可能な資格情報が取得される可能性があります。

ルートでない限り、ファイルの所有者を変更することはできません。ただし、ディレクトリのSGIDビットを使用して、新しく作成されたファイルのグループを適用できます。

于 2012-05-23T00:20:27.930 に答える