GitHubを利用した開発手順ープルリクエストとGitHub Flowについて
GitHubを利用した開発手順で必ず行うプルリクエストのやり方とGitHub Flowについてまとめました。
プルリクエスト
プルリクエストとは、自分の変更したコードをリポジトリに取り込んでもらえるよう依頼する機能です。
コードを変更してプルリクエストをすることで、レビューをしてから取り込むことができます。レビューせずに取り込むとバグに気づけないなど問題が生じる可能性が高まります。
プルリクエストまでの流れ
プルリクエストまでの流れは次の通りです。
- 現在のブランチを確認する(git branch)
- masterにうつる
- masterブランチを最新に更新する(git pull origin master)
- ブランチを作成する (git checkout -b 新しいブランチ名)
- ファイルを変更する
- 変更をコミットする(git addしてからgit commit)
- GitHubでpushする(git push origin 新しいブランチ名)
- プルリクエストを送る
- コードレビューがされる
- OKならプルリクエストをマージする
- NGならブランチを削除する
プルリクエストを送る際、GitHubのPull requestsタブを開きます。
baseはもともとの基盤となるブランチです。(masterなど)
compareはプルリクエストを送るブランチを選択します。
こうすると、compareのブランチから、baseのブランチへプルリクエストを送る、という意味になります。
サイドバーにreviewerを選択することができます。
特定の人にレビューをお願いしたい場合に使用します。
承認され、masterにマージされたら、プルリクエストしたブランチは不要のためGitHub上で削除します。
そして、git checkout masterでマスターブランチへ移動して、git pull originn masterで変更したマスターを取り込みます。
取り込んだら、プルリクエストしたブランチを削除します。
GitHub Flowの流れ
GitHubを利用した開発にはいくつか種類があります。
GitHub Flowはそのなかでとてもシンプルなため、最初の開発に向いています。
GitHub FlowはGitHub社のワークフローです。
- マスターブランチからブランチをきってそこで変更する
- 変更が完了したらプルリクエストを送る
- マスターブランチに反映させる
とてもシンプルですが、GitHub Flowを実践するにはいくつポイントがあります。
GitHub Flowのポイント
- masterブランチは常にデプロイ(リリース)できる状態を保つ
- 新開発はmasterブランチから新しいブランチを作成する
- 新しいブランチで作業してコミットする
- 定期的にpushする
- masterにマージするためプルリクエストを送る
- レビューをうける
- masterブランチにマージして、すぐにデプロイする
- テストとデプロイは自動化する
GitHub Flowのメリット
- 開発フローがシンプルなため誰でも参加しやすい
- マスターブランチの状況とリリースされているものの状況が一致するので、何をリリースしているのかがわかりやすい
- 昨日単位で細かくリリースしているのでバグの発見もやりやすい