小村の開発環境構築(11) GitHubにPushする

  • こんばんは、小村だよ!

  • 今日はHerokuに対してデプロイをしてみたかったよ!

    • トラブル発生でdevelopブランチのPushまでだよ!進捗全然なし!



やること

  1. GitHubのmasterブランチ保護設定変更
  2. developブランチへのPush
  3. Dependabotによるプルリクの解消



前提条件

  • アプリケーションを作成し、commitが済んでいる(前回記事までの状態)



事前準備

  • VSCodeからUbuntuへリモート接続し、前回までのプロジェクトを開く



手順

GitHubのブランチのルールについて

  • GitHubの設定をしたときにブランチのルール設定はしなくていいといったな

  • ごめんやっぱ急にしたくなったのでします!!!えへへ!!!

  • というわけで最初は[main]ブランチに直接Pushできなくする保護設定しまーす!

    • 追記:ソロプロジェクトでこのルール設定すると承認できなくて詰みます

    • 私は結局このルール設定を削除しました……



GitHubのブランチのルール設定



f:id:kom314_prog:20210606221559p:plain
f:id:kom314_prog:20210619104702p:plain
  • Githubは英語なのですが、Google翻訳通せば普通に理解できるよ!

    • [branch]を支店と訳すのはご愛敬
  • ルール設定の目的は[main]ブランチに対して、私(管理者)が直接pushしないこと

  • それを達成しつつよさげなルールを選択した結果、参考サイト通りになったよ!



f:id:kom314_prog:20210619104930p:plain
  • [develop]は普通に更新するので保護かけないけど、[release]は悩むな……

  • まぁまずは緩く[main]だけにしよっと!

  • というわけでブランチの保護設定は完了!



[develop]ブランチへPush

  • さっそく、今まで作成したアプリを[develop]ブランチへpush

  • あ、今後できるだけgitの操作をコマンドでやっていきまス

    • 前回のこともあるしUIの操作だとスクショがとりづらい……
  • というわけで下記を実行

 git push origin develop
f:id:kom314_prog:20210606224430p:plain
  • よし、問題なくpushできたネ!



めっちゃメールくる

f:id:kom314_prog:20210606225125p:plain

\ピコーン! ピコーン!/

  • !?!?!?!?

  • めっちゃGmailの受信音がするんですけど!!!!

  • めっちゃGitHubからメール来てるんですけど!!!!!

  • でも心当たりはある。create nuxt-appでなんかそういう設定したわ。

  • 以下過去の自分の記事から引用



  • 間違いなくこれだわ。メール送信者がそうだもん。記録しててよかった!

  • CL/CIとか関係なくやってくれるんだねー。

  • ありがたいけど心の準備できてなかったよ!



Pullしてみる

f:id:kom314_prog:20210606225853p:plain
  • VSCodeにてgit pull実行

  • 予想どおりのことになってるー!



ここから先の結論

  • この先無駄に長く苦闘するけど、結論を言ってしまえば

    • GitHubからそれぞれプルリクを承認してdevelopにマージ
    • 競合してマージできないのは放置
    • 放置してると競合を解消したプルリクが飛んでくるのでマージ
    • すべてマージ出来たら完了
  • で解決するよ![Dependabot]は有能なのでこちらの出る幕はないぜ!

  • 今後自動でマージできるようにしたいね!ちゃお!って結論で締めます!



では苦闘スタート

  • ひとまずそれぞれのブランチに切り替えて、yarn run devが動くことを確認

  • 特に問題なさそう

  • というかnode_modulesとか削除して確認する必要あるのかな

  • だとすると半端なく面倒……。とりあえず今回はいいら……



GitHubよりプルリクエストを承認

f:id:kom314_prog:20210606231247p:plain
f:id:kom314_prog:20210606231613p:plain
  • GitHubよりプルリクエスト画面を開いてそれぞれ詳細を確認

  • Commitタブから修正内容を確認可能。

    • 基本はPackage.jsonとyarn.jsonを変えてくれるようだね
  • 問題なければ下の方の[Marge pull request]ボタンを押下



競合が発生

  • #1から順番にマージしていくと、#6で競合が発生

  • まぁそうもなるよね……

f:id:kom314_prog:20210606232804p:plain
  • とりあえず#6を取り消してみよう。また勝手にプルリク来るんじゃないかな?

  • #7はマージできた。#8も競合したので取り消し

    • (補足)すぐ後に出てくるけど、取り消しは意味ないので参考にしないでね



pullしたりpushしたり

f:id:kom314_prog:20210606233114p:plain
  • あれ?#6と#8のブランチが残っちゃってる?

  • もう一回pushしてもまた作ってくれたりしないっぽい

  • やっちまったか!?!?

  • やばいーーーGitHub経験薄いのばれルーーー!!!



プルリクエストを再開し、競合を解消

f:id:kom314_prog:20210606234615p:plain
  • 取り消しじゃどうにもならないようなのでプルリク再開

  • しかし競合の解消ってどうするんだ……

  • 「dependabot 競合」で検索しても有用な情報がない……

  • 翻訳してあせらずに読んでみるか……



f:id:kom314_prog:20210606235736p:plain
  • あ!!!!!!

  • そゆこと!?!?!?!?

  • コメントに[@dependabot rebase]を書き込むと競合解消してくれるの!?!?



f:id:kom314_prog:20210607000359p:plain
  • コメント書いたら「すでに最新」って言われた件について

  • おや?確かにいつのまにか[marge request]ボタンが活性になっている

  • #8も何もしてないのに[marge request]ボタンが活性になっている

  • ははーん!(したり顔)



Dependabotについての結論

  • 競合が起きても時間経過で競合を解消してくれる(えらい)

  • 急いで競合を解消したいとき(?)はコメントに[@dependabot rebase]を入力(?)

  • だから慌ててプルリクを取り消したりする必要なんかないんだよ!



無事すべてマージ

f:id:kom314_prog:20210607003709p:plain
  • すべてマージ完了!git graphはこういう図になりました

  • yarn run devを実行し問題ないことを確認

  • つっかれたーーーー!!!!



おわりに

  • 今日はherokuへデプロイまでするつもりでいたけど、まさかの伏兵に時間とられた!

  • なので続きはまた次回にする!

  • Dependabotについてもまた今度詳しく調べないとだねー

  • ちょいちょい見た感じ、手動でマージせずに自動でマージにできるみたいだし

  • とりあえず今回は、ちゃお!