0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHubのデフォルトブランチがmasterからmainへ変更した影響

Posted at

概要

事の発端はこちらの記事
端的に説明するとGitHubのリポジトリ作成時、デフォルトがmasterからmainに変更されていた。

事象

HerokuへのデプロイをAPI経由で行う際、ブランチを指定するがそれに影響が出た。
ブランチ変更の影響でmasterを指定するとデプロイできていない。

直接打つ場合は$HEROKU_API_KEY, $HEROKU_APP_NAMEは任意の名前に変更。

# デプロイできている
git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git main
# デプロイできていない
git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master

色々な記事では末尾のmain部分をmasterをして記述しているがmasterでpushをすると失敗する。
(独自でmasterブランチを作成したり昔作成したリポジトリ[masterがデフォルト]なら問題ないと思う)

まあそもそも構文の意味をちゃんと理解すればそこまでハマることもないと思うが問題は次だ。

CircleCIからHerokuへのpush時ブランチ指定を間違えても正常に動いてる(ように見えてしまう)のが問題
下記画像はCircleCIからHerokuへデプロイするjobだがこれ自体は成功しているがデプロイは出来ていない。
deploy_succsess(のように見えるが失敗している).PNG

原因は前述したとおりブランチ指定をmasterにしているため。
事態をややこしくしたのはCIrcleCIのjobは成功しているのにデプロイは失敗してるため何が悪いのか皆目見当がつかない点。
つまりjobは成功しているから原因はここではないと考えてしまい、余計にものすごい遠回りをしてしまった。
そしてブランチ指定をmainに変更するとjobが失敗するので(それはまた別の要因)ややこしさが加速した。
mainに指定したのは間違っているのでは?と誤った考え方に推移していった。。。

解決策

これも前述したとおりブランチ部分をちゃんとmainに変更すれば問題なく動作する。
(しかしmainに変更したとこでまた別の問題が発生して大変な目にあったがそれは別記事に記す。)

所感

そもそもデフォルトブランチがmasterではなくmainに変わっていたのは、
ネットニュースでちらほら見かけていたのでそこまで驚きはしなかった。
変更した経緯について詳細は省くが自分で動かすときはちゃんと意識しないと変にハマる。

特に単独で失敗するならまだしも色々な環境を経由してコマンド実行するとなると、
どこに原因が潜んでるかの切り分けが困難になるためある程度あたりを付けておくのは大事だなと感じた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?