おじさん。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環境に入ります。

画像1

画像2

2.Cloud9環境を起動します。

画像3

画像4

画像5

画像6

3.リモートにリポジトリ作成

前回すでに作成しています。

aws codecommit create-repository --repository-name MyDemoRepo

4.リモートリポジトリをローカルにクローン

前回すでに作成しています。

git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/MyDemoRepo

画像8

5.最初のコミットを作成する

$ cd MyDemoRepo
$ touch README.md
$ git add .
$ git commit -m "First empty file"

画像10

CodeCommitのAWSコンソールを確認するとまだ何もありません。

画像10

画像11

6.最初のコミットをプッシュする

$ git push origin master

画像9

CodeCommitのコンソールを確認すると先ほどプッシュしたものが確認できます。

画像12

画像13

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

画像16

CodeCommitのコンソールを確認するとfeatureブランチができています。

画像14


10.featureブランチでテストをします。

featureブランチからステージング環境にリリースしてテストして問題がなければプルリクエストをします。

11.プルリクエストを出してfeatureブランチをmasterへマージ

AWSコンソールで早速プルリクエストしていきましょう。
「ブランチ」から「プルリクエストの作成」を押します。

画像16

ダーゲット:master  ソース:feature として「比較」を押します。

画像17

このままマージできますとメッセージが出ています。
個人開発なので競合は多分おこらないでしょう。

画像18

プルリクエストを出すので「タイトル」「説明」を書きます。
個人開発なのでプルリクエスト先も自分なんですけどね。

画像19

変更箇所が表示されていますので確認して「プルリクエストの作成」を押します。

画像20

競合することはないのでそのまま「マージ」を押します。

画像21

今回は「早送りマージ」と「マージ後にソースブランチを削除します」にチェックを入れて「プルリクエストのマージ」を押します。

画像22

マージが完了しました。

画像23

masterブランチだけになりました。

画像24

「コミットビジュアライザー」を見るとこんな感じになります。

画像25

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

サポートして頂くと頑張るかもしれません。