評価プロセスを構築しており、特別なユーザの特定のブランチへの読み書きアクセスを制限したいと考えています。ユーザの名前に基づいてプレーンgitリポジトリのブランチにアクセスを制限します。
すべてのユーザーには読み取りと書き込みのアクセス権があります(これらのユーザーは回答を評価します)。一定の数の評価ユーザーが存在し、マスタと読み取り/書き込みアクセスに対する読み取りアクセスのみが必要です。名前を含むブランチ(例:assessment-john.doe
)。私たちのアセスメントセンターには、500人のユーザーとパスワードのリストがあり、各候補者にこのリストの資格情報セットを提供します。
ショートバージョン:
- 通常のユーザ(例えば
tobi
、chris
)があります:- が
- (理想的にのみをマスターする&書き込みアクセスを読んで、私は、gitのを設定するには、それをたい)
assessment-
から始まるブランチへの読み取りアクセス
- ユーザー(例:
assessment-1
、assessment-2
)を有する:- は、ユーザ(例えば、
assessment-1
) - 他のブランチへのないアクセスと同じ 名前を持つ分岐へ
- 読み取り/書き込みアクセスをマスターへの読み取りアクセス。
- は、ユーザ(例えば、
私たちは、これを必要とdoesntのタスクとしてgitlabまたはGitHubのような任意のバージョン管理GUIサーバーなし無地のgit(およびSSH)を使用します。
EDIT:明確にするには:読み取り制御は、書き込み制御の方がずっと重要です。 (マスターを除く)。
そのリポジトリにユーザーのプッシュに中央リポジトリにブランチをプッシュフックを書きます'git'自体は" users "や" access control "について何も知らない。 Gitlabのようなツールはあなたの問題を完全に解決するでしょうし、あなたがsshキーを管理する以外にそれを気に入らなければWeb UIとやりとりする必要はありません。 – larsks
しかし、独自のソリューションを開発したいのであれば、ずっと前に私は答え[ここ](https://stackoverflow.com/a/28402532/147356)と[ここ](https://stackoverflow.com/a)を書きました。/8248062/147356)と[こちら](https://stackoverflow.com/a/40454688/147356)のような質問に対応しています。 – larsks
私たちはgitlabエンタープライズを弊社で使用していますが、そのブランチ保護は企業の機能の一部だと思います。エンタープライズgitlabを使用して数百の評価候補を実行するには、エンタープライズ・サーバーに多数のユーザー・ライセンスが必要です。私もsshキーを設定したくありません。私はユーザーのためにできるだけ簡単にしたいと思いますが、他の人がそれをコピーできるようにコードを公表するべきではありません。 – Tobi