Git

GitLabで「A default branch (e.g. master) does not yet exist for~」が出た場合の対処法

mistake

私は今の業務でGitLabを使用しています。

先日、PMの方にプロジェクトの作業用リポジトリを作成していただき、早速ブランチを切ってプッシュしてみたところ、以下のようなエラーが出ました。

remote: A default branch (e.g. master) does not yet exist for ~
remote: Ask a project Owner or Maintainer to create a default branch:

初めて見たエラーでしたが、原因や対処法を調査したところ、無事にプッシュすることができました。

私と同じように困っている方がいるかもしれませんので、その際に調べた内容を記事にしようと思います。

今回はGitLabで「A default branch (e.g. master) does not yet exist for~」というエラーが出た場合の対処法についてご紹介しますね。

エラーの意味について

これは「プッシュしようとしているブランチが、リモート上に存在していないので、管理者に問い合わせてデフォルトのブランチを作成してもらってください」という意味のエラーになります。

私の場合は、ローカルでmasterブランチからdevelopブランチを作成してプッシュしようとしていたときに発生しました。

そこでPMの方に確認したところ、GitLabでリポジトリは作成していたのですが、masterブランチに何もコミットされていない状態でした。

つまり、状況としては「空のブランチからdevelopブランチを作成して変更内容をプッシュしようとしていた」ということになります。

確かに、それでは怒られますよね・・。

対処法はREADMEのコミット!

さて、原因がわかったので、対処法もはっきりしました。
masterブランチが空なのが原因だったので、何かコミットしてしまえばよいのです。

今回のエラーを解消するための方法は以下となります。

GitLabの画面からmasterブランチにREADMEを追加する

もしかしたら、あなたのGitLabでの権限によっては、READMEを追加することができないかもしれません。

その場合は、管理者(おそらくPMの方の場合が多いと思います)の方にお願いしてください。

READMEの追加ですが、GitLabには便利なボタンがありますので、そちらを使うと良いでしょう。

  • プロジェクトのリポジトリ画面を開く
  • 「Adding README」をクリックする
  • そのままコミットする

これでOKです。

私のときは、この直後にもう一度プッシュし直すと無事に成功しました。

終わりに

今回はGitLabで遭遇した「A default branch (e.g. master) does not yet exist for~」についてご紹介しました。

GitLabでリポジトリだけ作成した状態では、場合によってはプッシュできないことがあります。

その場合には、まずREADMEだけで良いのでmasterブランチに1つコミットしてみてください。

GitLabを初めて導入するので不安だという方は、以下の記事に沿って準備すれば大丈夫だと思います。
参考:GitLab運用方法と設定手順について/PJ案件管理者(PM)がやること

もっと詳しく知りたい場合は、こちらの本が参考になるでしょう。

今回はここまでです。それでは。