github-flowを使っての開発(3) -1つのプロジェクトを複数人で開発-

公開日: : github, IT


今まで2回ほどgithub-flowをもとにした開発の流れを書きました。
今回は、複数人で開発をする時の流れを書いてみます。

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されただけの状態にします。
つまり、プロジェクト用のブランチで修正作業などはしません。
これは、仮にある機能がいらなくなった場合に対応しやすいようにするためです。

広告

関連記事

no image

iPhoneアプリ開発 -UIButtonのTouch Down、Touch up Inside、Touch up Outsideの使い方-

* Touch DownとTouch up Inside、Touch up Outsideの違い

記事を読む

no image

iPhoneアプリ開発 - touchesBeganとUITapGestureRecognizerの差(タッチとタップ) –

「画面にある画像を移動させたい」とか、「画面に線を書きたい」ということがあるかと思います。 ぐぐると

記事を読む

githubを使っての開発(1) -実践github-flow-

今は開発でgithubを利用しています。 開発をおこなう上で、githubをどのように扱えば良いの

記事を読む

no image

PhoneGapを触ってみた(3) -画像を扱う(Camera APIを使ってみる)-

今回は、PhoneGapのCamera APIを使って携帯のアルバムにある画像を扱ってみます。

記事を読む

no image

jQuery Mobile導入手順 -はじめの一歩-

jQuery Mobileの1.0がリリースされ、利用したい方が増えていると思います。 最初に何を

記事を読む

no image

iPhoneアプリ開発 −複数前の画面に戻る−

* やりたいこと ある画面から別の画面に遷移したい。 -1つ前の画面に戻りたい。 -2つ前の画面に戻

記事を読む

no image

iPhoneアプリ開発 −フォントの変更−

一言:最近、iPhoneアプリの開発のためMacばかり触ってて、Windowsに戻ると混乱します。

記事を読む

setup

Google Appsで独自ドメインメールの利用

独自ドメインでメアドを持ちたかったのでGoogle Appsを利用してみました。 その各種設定の覚

記事を読む

datebox-date

jQueryMobileでカレンダー表示 -DateBoxプラグインの利用-

スマートフォン対応をしているとカレンダーの表示の仕方をスマートフォンらしくしたいことがあると思います

記事を読む

no image

iPhoneアプリ開発 -利用するべきサービス-

iPhone(iOS)アプリ開発において使っているサービスを列挙。 この手のサービスがないと、開発中

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑