Git Flow
Github Flowと並ぶGitを利用したメジャーな開発ワークフローのひとつ。
概要
- それぞれのブランチがコードの状態を表している。
- リリースマネージャーが存在し(必要となる)、リリースを中心としたソフトウェア開発に向いている。 (メリット)
- 標準的なソフトウェアの開発状態遷移をブランチ名で表しているため、直感的に理解しやすい。 (デメリット)
- 覚えるブランチの状態が多く、複雑すぎる場合がある(人的ミスの可能性がある)。
ワークフロー
- 開発版のブランチ(develop)から作業用のブランチ(feature branches)を作成して機能を実装及び修正する。
- 作業用のブランチでの修正が終了すると、開発版のブランチに取り込まれる。
- 上記の1と2を繰り返し、リリース出来るまで機能を作り上げる。
- リリースするための作業をするためリリース用ブランチ(release branches)を作成し作業する。
- リリース作業が終了するとmasterブランチに統合され、バージョンタグを打ってリリースする。
- リリースしたものにバグがあれば、打たれたバージョンをもとに修正(hotfixes)する。
git-flow
Git Flowのワークフローをサポートしてくれるツール。ミスを防ぐために導入は必須か?
インストール方法
例:Mac(Homebrew)
$ brew install git-flow
例:CentOS
$ sudo su -
$ cd /usr/local/src
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
参考文献 / 参考URL
『GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus) 』(技術評論社)
CentOSにgit-flowをインストールする方法:
http://qiita.com/drapon/items/a510613ecb5b8dfaea45