その他

GitLab 権限について

この記事は約3分で読めます。

お疲れ様です。岩木です。
今やっている業務で学んだことがあったので、振り返りをしたいなと思いrambleに
記載することにしました。

今回の対象者

・Gitlabでリポジトリを新規作成される方々

・駆け出しエンジニア

具体的な内容

権限関係についてすね。

個人開発ではあまり関係ないかもしれませんが、実務ではプロジェクトの責任者などに
権限を付与してもらうことがあると思うので
今回権限によって出来ることと出来ないことがあるので、その点を整理していこうと思います。

権限の種類

主に以下の権限の種類があります。

  1. Owner
    プロジェクトやグループの最上位の権限。全ての操作と設定を行うことができます。プロジェクトの移動や削除なども含まれます。
  2. Maintainer
    プロジェクトやグループの管理者。プロジェクトの設定変更、ブランチの保護、メンバーの追加などが可能です。
  3. Developer
    コードの変更やマージ、イシューの作成、プッシュなどが可能ですが、プロジェクト設定の変更やメンバーの追加などはできません。
  4. Reporter
    イシューやプルリクエストの閲覧、コメントの追加ができますが、コードの変更やプッシュはできません。
  5. Guest
    リポジトリの閲覧やイシューのコメントができますが、コードの閲覧や変更はできません。
  6. Anonymous
    ログインせずに公開されているプロジェクトの一般的な閲覧が可能ですが、操作やコメントはできません。

今回、困ったこと

作業の都合上、新たにリポジトリを作成してコミットやらプッシュをしようと思ったのですが
以下のエラーに出くわしたんですよね。

remote: A default branch (e.g. master) does not yet exist for hogehoge/document
remote: Ask a project Owner or Maintainer to create a default branch:
error: failed to push some refs to 'https://gitlab.hogehoge.co.jp/hogehoge/document.git'

理由としてはエラー文を読んで字の如くなんですけど

「デフォルトブランチないで!!デフォルトブランチ作れるのOwner と Maintainerだけやで!!
この権限ある方にデフォルトブランチ作ってもらうように頼みなさいな!!」

原因

この時、自分の権限を確認したらDeveloperやったから。

解決策としては

  1. Owner or Maintainerの方にデフォルトブランチを作ってもらう。
  2. 自分の権限をOwner or Maintainerに変更してもらう。

解決策は至ってシンプルなんですけど、自分がこの記事で伝えたいのは

リポジトリを新規作成する場合、Maintainer以上の権限を事前に付与してもらった方がいい!!

たったこれだけで、自分は時間を結構ロスしてしまったので
そのプロジェクトの主要メンバーはMaintainer以上の権限を事前に付与してもらった方がいいのではないかと今回の件で思いました。

ただしOwnerになると、そのプロジェクトを消すことも可能になってしまうので
個人的にMaintainerくらいがちょうどいいんじゃないかなと思います。

最後に

いかがでしたでしょうか?
今回の内容はあまりニーズがないような気がするのですが
直感的にどこかで役に立つような気がしたので書いてみました。

もし参考になったと思う方が1人でもいれば幸いです。
失礼いたします。

参考サイト

権限とロール | GitLab
GitLab product documentation.
GitLabで「A default branch (e.g. master) does not yet exist for~」が出た場合の対処法 | プログラミング実践.com
私は今の業務でGitLabを使用しています。 先日、PMの方にプロジェクトの作業用リポジトリを作成していただき、早速ブランチを切ってプッシュしてみたところ、以下のようなエラーが出ました。 remote: A default branch (