github-flowを使っての開発(3) -1つのプロジェクトを複数人で開発-
今回は、複数人で開発をする時の流れを書いてみます。
github-flowでの開発
githubを使っての開発(1) -実践github-flow- | PPl@ce
githubを使っての開発(2) -masterブランチにマージ- | PPl@ce
前提
- プロジェクト管理システムを使っている(trac、redmine、JIRA)
- チケットでタスクを管理している
最初にproject用ブランチを作成
まず作成するブランチにチケットのナンバーもつけておきます。
- git checkout master
- git checkout -b 134_project_name
このブランチで何かしらの作業はしません。
このブランチは、PullRequestのときのmerge先とします。
開発サイクル
プロジェクト用のブランチから各チケット単位でブランチを作成
チケット単位でタスクを管理しているので、そのタスク単位でブランチを作成します。
- git checkout 134_project_name
- git pull
- git checkout -b 145_new_task_name
各ブランチで開発をおこない終わったらPullRequest
作成したブランチで開発をおこない、適宜コミットをしていきます。
完成したら、最初に作成したproject用のブランチにPullRequestを投げます。
レビュー&merge
ソースコードレビューをgithub上でおこない、修正&レビューを繰り返します。
問題なくなったら、project用ブランチにmergeします。
チケットを閉じる
mergeされたらチケットをcloseします。
プロジェクト用のブランチは、このプロジェクトにおける最新の状態にしておき、できればテスト環境にデプロイをします。
常に最新の状態をテスト環境で試せるようにします。
注意点
masterブランチに何かがmergeされたら?
このプロジェクトを開発している間に、新しい機能がリリースされmasterにmergeされるケースもあります。
その場合は、masterにmergeされた段階でプロジェクト用のブランチに組み込みます。
影響範囲を知るためにも早めにとりこみます。
merge後に問題がおきたら?
何かの機能をmerge後に問題がおきて動かなくなったらどこで修正するか?というのがあるかと思います。
これは、ケースバイケースですが、そのmergeしたブランチを一回外して、そのブランチで修正してから再度mergeするのが良いです。
プロジェクト用のブランチは各チケット単位のブランチのmergeされただけの状態にします。
つまり、プロジェクト用のブランチで修正作業などはしません。
これは、仮にある機能がいらなくなった場合に対応しやすいようにするためです。
広告
関連記事
-
アプリのためにFacebookページ作成 -会社のメールアドレスで管理する方法-
アプリを作ると、色々と宣伝をしたくなります。 宣伝の方法は色々ありますが、今回はFacebookペ
-
iPhoneアプリ開発 -バックグラウンド処理をした際にはまったこと-
* おきたこと 以下のメソッドを用いて、処理に時間がかかるもの(ここだとhoge)をバックグラウンド
-
jQuery Mobile導入手順 -はじめの一歩-
jQuery Mobileの1.0がリリースされ、利用したい方が増えていると思います。 最初に何を
-
Jenkins + iPhoneアプリ(番外1) -TestFlightを利用する-
* これまで - -- 執事(Jenkins)を雇いました。 * やりたいこと Jenk
-
ソーシャルボタン(Twitterのフォローボタン、Facebookのオススメボタン)を設置する
サイトにソーシャルボタンを設置しようと思いちょこっと調べてみました。 * 設置するボタン
-
iPhoneアプリ開発 -端末がネットワークにつながっているかどうか知りたい-
* やりたいこと アプリがネットに繋がっていなければアラートボックスを表示させたい。 ネットに繋
-
Androidアプリ開発 -9patchで吹き出し画像を作る-
* やりたいこと TextViewで文字を表示させ、背景画像に吹き出し画像を設定した場合。 文字
-
str_padとsprintfの速度
PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会
-
Jenkins + iPhoneアプリ(1) -執事を雇う-
アプリ開発をしていると、自動化出来るところは自動化したくなってきますよね。 開発しているアプリも増え
-
定期的にデータ取得のためにCakePHP1.3でシェル機能を利用
定期的にデータを取得する行為をするために、はじめてシェル機能を使ってみたのでメモ。 * ス