おじさん。AWSを触る。その5。Amplifyを触る前の事前準備2。
そういえばCodeCommitの環境設定だけでGitもクローンを作成しただけなのでその続き。
まず、ブランチモデルを何しようかと思案。
ブランチモデルとしてはgit-flowとGitHub Flowがありますが、
シンプルだし個人開発なのでGitHub Flowモデルで行きます。
GitHub Flowモデルの6つのルール 参考URL
#1 - masterブランチのものは何であれデプロイ可能である
#2 - masterから説明的なブランチを作成する
#3 - 名前をつけたブランチに定期的にpushする
#4 - いつでもプルリクエストを作る
#5 - マージはプルリクエストがレビューされた後だけ
#6 - レビューのあとは直ちにデプロイする
あと、「masterへの直コミットはダメ絶対」縛りにします。
ブランチはmasterとfeatureとします。
featureブランチを作成して作業してテストしてOKならばmasterにプルします。
1.開発アカウントでCloud9環境に入ります。
2.Cloud9環境を起動します。
3.リモートにリポジトリ作成
前回すでに作成しています。
aws codecommit create-repository --repository-name MyDemoRepo
4.リモートリポジトリをローカルにクローン
前回すでに作成しています。
git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/MyDemoRepo
5.最初のコミットを作成する
$ cd MyDemoRepo
$ touch README.md
$ git add .
$ git commit -m "First empty file"
CodeCommitのAWSコンソールを確認するとまだ何もありません。
6.最初のコミットをプッシュする
$ git push origin master
CodeCommitのコンソールを確認すると先ほどプッシュしたものが確認できます。
7.featureブランチを作成
$ git branch feature
8.featureブランチをチェックアウト(ブランチを切り替え)
$ git checkout feature
9.開発をして終わったらコミットしてリモートリポジトリへプッシュします。
$ vi README.md
$ git add .
$ git commit -m "First empty file feature"
$ git push origin feature
CodeCommitのコンソールを確認するとfeatureブランチができています。
10.featureブランチでテストをします。
featureブランチからステージング環境にリリースしてテストして問題がなければプルリクエストをします。
11.プルリクエストを出してfeatureブランチをmasterへマージ
AWSコンソールで早速プルリクエストしていきましょう。
「ブランチ」から「プルリクエストの作成」を押します。
ダーゲット:master ソース:feature として「比較」を押します。
このままマージできますとメッセージが出ています。
個人開発なので競合は多分おこらないでしょう。
プルリクエストを出すので「タイトル」「説明」を書きます。
個人開発なのでプルリクエスト先も自分なんですけどね。
変更箇所が表示されていますので確認して「プルリクエストの作成」を押します。
競合することはないのでそのまま「マージ」を押します。
今回は「早送りマージ」と「マージ後にソースブランチを削除します」にチェックを入れて「プルリクエストのマージ」を押します。
マージが完了しました。
masterブランチだけになりました。
「コミットビジュアライザー」を見るとこんな感じになります。
12.ローカルの整理
リモートのmasterは最新ですが、ローカルのmasterは昔のままです。
忘れずにローカルリポジトリのmasterブランチを最新化
$ git checkout master
$ git pull
13.次のサイクルの開発
次にソースを触るときにmastarブランチからfeatureブランチを作成していきます。
これを繰り返していきます。
$ git branch feature
$ git checkout feature
今回は以上です。
CodeCommitでのブランチモデルの作成でした。
次回は、Vueプロジェクトの作成の予定です。
参考)
いまさらだけどGitを基本から分かりやすくまとめてみた
https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0
サポートして頂くと頑張るかもしれません。