GitHub OrganizationでGitHubのIssuesとPull Requestを使ってチケット駆動開発をする手順を説明する。
手順
Organizationのリポジトリからローカルにチェックアウトする
hub clone `org名`/`リポジトリ名`
OrganizationでIssueを作る
ここで issue番号
が発番される
トピックブランチを作る
git checkout -b issues/`issue番号`
開発する
コードを書いて、テストを通す
トピックブランチをOrganizationのリポジトリにpushする
git push -u origin issues/`issue番号`
プルリクエストする
hub pull-request -i `issue番号` -h issues/`issue番号`
コードレビュー
メンバ全員にレビューを依頼する(大人数のチームならレビュアーを指名したほうがいい)。依頼するときはメンションする。
レビューを依頼してもなかなかレビューをしてもらえない場合は、Slackやチャットなどで、メンションを飛ばしつつしつこく依頼する。
レビューを依頼された側は、自分ができそうになければ、辞退することができる。他に適任の人を指名してもいい。その場合は、GitHubのissueにコメントを残す。
ここで、コード修正が必要になったらコードを直して、git push
して、再度コードレビューへ。
コードレビューはブランチがマージ可能であることが前提。もしここでconflictしていたら、レビュー者は開発者に通知する。開発者はそれを解消してから再度コードレビューを依頼する。解消する方法は『Git - プルリクエストの画面でMerge出来ない事がわかった場合にどうすればよいか考える。 - Qiita』を参照。
マージ
レビューが通ったらレビュー者がGitHubウェブサイト上でマージする。
ここで master ブランチに取り込まれる
リモートのトピックブランチを削除する
マージすると、GitHubの画面上に「Delete Branch」ボタンが出るので押す。
ローカルの master ブランチを最新にする
git pull --prune
--prune
をつけることで前のステップで消したリモートトピックブランチのローカルにある情報が消える
ローカルのトピックブランチを削除する
masterに取り込まれたトピックブランチは削除してしまおう
git branch -d issues/`issue番号`