146
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

GitHub FlowでPull Requestベースな開発フローの進め方

弊社、日本CAWでの開発フローはGitHub Flowをベースにしてpull requestを活用したスタイルを採用しています。

最近、有志のチームでサクっと行きたいラーメン屋さんを見つけることができるアプリ「めんこれ」というのを開発しているのですが、そろそろ開発フローを整備しようという話になったので、今まではクローズドでやってましたが、公開しちゃおうと思ったわけです。

普段はdevelopブランチをメインブランチにしているんですが、スピード感あるデプロイサイクルにするためにmasterブランチをメインにします。

実装者のフロー

GitHub Flowについてはこちらの日本語訳を参照のこと。
https://gist.github.com/Gab-km/3705015

GitHubのissueで開発タスクを管理していますので、開発対象のリポジトリで自分にAssignされているタスクを確認します。

スクリーンショット 2014-08-03 14.11.51.png

下記の#58のissueに着手する例を示します(GUIツールは対応する操作を)。

スクリーンショット 2014-08-03 14.21.10.png

ローカルマシンでmasterから作業ブランチを作成し、そのブランチ上で実装します。

# カレントブランチをmasterに移動
$ git checkout master

# リモートからmasterブランチを取得し最新にする
$ git pull origin master

# masterブランチから作業ブランチを派生する
$ git checkout -b issue-58

実装が終わったらブランチにソースコードをコミットします。作業中コミットが複数回発生しても問題ありません。

# 変更をindexに追加
$ git add -A

# 変更をコミット
# 必ずissue番号を含めて下さい(GitHub上で参照しやすくなるので)。
$ git commit -m "#58 広告設置  

作業ブランチをpushしてpull requestを作成します。

$ git push origin issue-58

New pull request

スクリーンショット 2014-08-03 14.29.13.png

自分がpushした作業ブランチを選択します。左がmasterブランチ、右が自分が作成したブランチになっていることを確認し、問題なければCreate pull requestします。

スクリーンショット 2014-08-03 14.32.42.png

特記事項などあれば、 下記画面で入力してCreate pull requestしたら完了です。

スクリーンショット 2014-08-03 14.34.44.png

WIP PRについて

実装の仕方や、コードの設計など、コードに紐づく議論をしやすくするために、WIP PR(Work In Progress Pull Request)という手法を使います。

参照
http://www.slideshare.net/asuenami/wip-pr

下記のように、pull request作成時に頭に[WIP]をいれてください。

スクリーンショット 2014-08-03 14.54.01.png

この名前がついたpull requestはマージされず、議論や確認のために参照されます。WIP PR作成者は議論や確認が済んだらClose pull requestしてください。

レビュワーについて

pull request画面で未消化のpull requestを確認します。

スクリーンショット 2014-08-03 15.03.29.png

基本はissue作成者が対象のpull requestをマージしますが、全てのメンバがpull requestをマージする権限を持つので、可能なものはマージお願いします。ただし自分のpull requestは必ず他メンバにマージしてもらってください。

またWIP PRの回答可能なものには回答をお願いします。

めんこれ渋谷

何気なく「あー今日ラーメン食べたいなー」ってときにサクッと行きたいラーメン屋をみつけられるアプリ「めんこれ渋谷」現在Android版のみ公開されてます!

Screenshot_2014-06-26-11-38-56.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
146
Help us understand the problem. What are the problem?