WIP(Work in Progress)Pull Requestを使った開発フロー

「WIP(Work in Progress)Pull Requestを使用した開発フロー」とは、ソースコードを書く(編集)前に空のコミットを作り、Pull Requestを投げた状態で開発していく開発フローである。僕のチームで実際に導入してみて学んだのでその手順を備忘録がわりに記事にしました。

メリット

・コードレビューを実施する前に進捗が共有できたりタスクの明確化に繋がる

・コミット履歴として残るので、自分でのタスク管理がしやすくなる

 

手順

以下の通りコミット、プッシュする。

// masterブランチを最新にする
$ git pull origin master

// 作業ブランチを作成(作業内容のブランチ名をつける)
$ git checkout -b feature_huge_function

// 空コミットを作る
// コミットメッセージの先頭に作業中であることを表す[WIP]を付ける
$ git commit --allow-empty -m "[WIP] 開発する内容を書く"

// リモートにfeature_huge_functionブランチをpush
$ git push origin feature_huge_function

その後、以下の手順で作業していく。

1. リモートリポジトリでpull requestを送る

2. 作業者が実装を行い、実装が終了したら[WIP]を削除する(作業中が終了したことを示すため)

3. Pull Requestをレビューしてもらい承認をもらう

4. Pull Requestをマージする

 

※ WIP開発フローを使用している場合でもチームによって運用方法は細かく異なる場合が多々あるため、各チームの方針に従うとよいでしょう。