Git
GitHub

GitHub Organization: Issues+Pull Requestでチケット駆動開発する手順

More than 3 years have passed since last update.

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番号`

コードレビュー

メンバ全員にレビューを依頼する(大人数のチームならレビュアーを指名したほうがいい)。依頼するときはメンションする。

GitHubのPRでのコメント例

レビューを依頼してもなかなかレビューをしてもらえない場合は、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番号`