ワークフローの例
・Git Flow Gitを最大限に活用できるが複雑
・GitHub Flow シンプル。1日に何度もデプロイするチームで使いやすい
GitHub Flowが行っているGitHubFlowのルール(要約)
1.マスターブランチは即座にデプロイ可能な状態を保つ
2.ブランチ上で必ず作業し、その生存期間をできるだけ短かくすること
3.(変更したら、)すぐにPull Requestを作り、フィードバックやサインオフを求める
4.マージしたらすぐにデプロイをすること
ワークフロー
- なにをすべきかを決める。
- masterブランチから説明的な名前のブランチを作成する
- ブランチをgit pushして、コードをチームメンバーにシェア
- Pull Request作成
- コードを書く&コードの修正(議論しながら)
- テスト
- マスターブランチを、デプロイするPull Requestブランチにマージ
- テスト環境にデプロイ
- テスト
- 本番環境にデプロイ
- 様子を見る(監視ツールで確認)
- Pull Requestブランチを、マスターブランチにマージ
補足
(日本の開発現場の場合)Pull Requestブランチをマスターブランチにマージしてから、マスターブランチをデプロイするという事が多い。
github社が行っているワークフローとは違うということに注意
GitHub Flowの模擬体験
1アカウントで操作するため、実際のワークフローとは少し違うが、重要な流れの部分は体験できる内容(デプロイの作業、テストはなし)
GitHubのトップページで緑の「New」を選択
リポジトリの名前をgithubflowに設定
Privateに設定
Initialize this repository with a READMEにチェック
GitHubのリポジトリとReadMeファイルの設置を自動的にしてくれて
作成した直後からこのリポジトリのクローンを作ることができる
Add.gitignore: Rubyにする
.gitignoreファイルを初期化時に作成してくれる。
gitignoreファイルはGitリポジトリで管理対象外のファイル、ディレクトリを設定する。ファイル対象外にしたいファイルとは
キャッシュファイル(OSが勝手に作成している隠しファイルなど)など
「Create repository」をクリック
.gitignoreファイルとREADME.mdがあることを確認。
このリモートリポジトリをCloud9の環境にクローンすることで開発を進めていく