Gitのみでは、これらの細かな権限管理ができないために、オンプレミスでGitを運用する場合は、GitLabを導入することをおすすめします。
GitLabではプロジェクトごとに参加するユーザーには、
Guest(ゲスト)
Reporter(リポーター)
Developer(デベロッパー)
Master(マスター)
Owner(オーナー)
という5個のユーザー権限を設定できます。
GitLabのインストール方法は次の通りです。

CentOS 7にGitHubライクなオンプレミス GitLab CE (community edition) を2分でインストール・導入・構築してみた
GitのWebインターフェースを探している中で、GitWeb、Ginatraを試したのですが、イマイチでした。
そこで今回、GitLabを試してみました。
GitLabは、単にGitのGUIインターフェースのみならず、ユ...
GitLabのユーザー権限、グループ権限をまとめてみました。
ユーザーの権限
GitLabのユーザーの権限は次の通りです。
ユーザーごとに出来ることをまとめました。
| Action | Guest ゲスト |
Reporter リポーター |
Developer デベロッパー |
Master マスター |
Owner オーナー |
|---|---|---|---|---|---|
| Create new issue 新しい課題の作成 |
✓ | ✓ | ✓ | ✓ | ✓ |
| Leave comments コメントを残す |
✓ | ✓ | ✓ | ✓ | ✓ |
| Pull project code プルする |
✓ | ✓ | ✓ | ✓ | |
| Download project プロジェクトのダウンロード |
✓ | ✓ | ✓ | ✓ | |
| Create code snippets コードスニペットの作成 |
✓ | ✓ | ✓ | ✓ | |
| Create new merge request 新しいマージリクエストの作成 |
✓ | ✓ | ✓ | ||
| Create new branches 新しいブランチの作成 |
✓ | ✓ | ✓ | ||
| Push to non-protected branches プロテクトされていないブランチにプッシュ |
✓ | ✓ | ✓ | ||
| Force push to non-protected branches プロテクトされていないブランチ強制プッシュ |
✓ | ✓ | ✓ | ||
| Remove non-protected branches プロテクトされていないブランチの削除 |
✓ | ✓ | ✓ | ||
| Add tags タグを追加 |
✓ | ✓ | ✓ | ||
| Write a wiki wikiを書く |
✓ | ✓ | ✓ | ||
| Manage issue tracker 課題トラーカーの管理 |
✓ | ✓ | ✓ | ||
| Manage labels ラベルを管理 |
✓ | ✓ | ✓ | ||
| Create new milestones 新しいマイルストーンの作成 |
✓ | ✓ | |||
| Add new team members 新しいチームメンバーを追加 |
✓ | ✓ | |||
| Push to protected branches プロテクトされたブランチにプッシュ |
✓ | ✓ | |||
| Enable/disable branch protection ブランチプロテクションの有効/無効化 |
✓ | ✓ | |||
| Turn on/off prot. branch push for devs | ✓ | ✓ | |||
| Rewrite/remove git tags タグのリライト/削除 |
✓ | ✓ | |||
| Edit project プロジェクトの編集 |
✓ | ✓ | |||
| Add deploy keys to project プロジェクトにデプロイキーを追加 |
✓ | ✓ | |||
| Configure project hooks プロジェクトフックの構成 |
✓ | ✓ | |||
| Switch visibility level 可視レベルの変更 |
✓ | ||||
| Transfer project to another namespace 別のネームスペースへプロジェクトを移行 |
✓ | ||||
| Remove project プロジェクトの削除 |
✓ | ||||
| Force push to protected branches プロテクトされたブランチに強制プッシュ |
|||||
| Remove protected branches プロテクトされたブランチの削除 |
Developerでタグを作ることは出来ても削除できない
意外な制約ですが、GitLabではDeveloperではタグを削除できないことが仕様のようです。

GitLabでDeveloperならタグ(Tag)を追加できるが、削除できない you don't have permission
普段、Gitのリポジトリ管理としてGitLabを使っています。GitLabについては以下をご覧ください。
ところでGitLabでタグを削除できないという現象でハマったのでメモします。
Gitでタグ(Tag)を削除
Gitで...
の通りハマりました。
グループの権限
GitLabのグループの権限は次の通りです。
グループごとに出来ることをまとめました。
| Action | Guest ゲスト |
Reporter リポーター |
Developer デベロッパー |
Master マスター |
Owner オーナー |
|---|---|---|---|---|---|
| Browse group グループを閲覧 |
✓ | ✓ | ✓ | ✓ | ✓ |
| Edit group グループを編集 |
✓ | ||||
| Create project in group グループにプロジェクトを作成 |
✓ | ✓ | |||
| Manage group members グループメンバーを管理 |
✓ | ||||
| Remove group グループを削除 |
✓ |
まとめ
複数人でGitを使う場合は、GitLabを導入しましょう。
GitLabを使うにあたり各ユーザー権限、グループ権限については理解が必要です。
Gitについてのおすすめの本
↓Gitについてのおすすめの本はコチラ



コメント