« サーバー構築を構成管理とTDDで作業する時代になってきた | トップページ | 実践反復型ソフトウェア開発を読む part1~ブランチの戦略 »

2013/03/31

A successful git branching model とgithub flowの比較

A successful git branching model とgithub flowについて、その考え方を比較するスライドを作ってみた。

【元ネタ】
GitHub Flow (Japanese translation)

git-flow によるブランチの管理 - O'Reilly Japan Community Blog

A successful Git branching model: プログラマの思索

git-flow による構成管理とRedmineの関係: プログラマの思索

GitHub Flowは、GitHub上でのブランチ管理戦略だ。
GitHub Flowの本質は、PullRequest主導のチケット駆動開発とも言える。

GitHub Flowが使いやすい理由は、GitHubと言うWebUI上で、masterから派生されたブランチ一覧を見れるので、ブランチに相当する開発中の機能の現状が分かりやすいことと、GitHub上でPullRequestを送ることでコミッタがパッチをWeb上でコードレビューでき、即座にマージできることにあるだろう。
もしそのパッチが気に入らないならば、却下して、マージしなければいいだけのことだ。

開発者がコミッタへパッチを送る作業と、コミッタのコードレビュー、コミッタのマージ作業をGitのPullコマンドで実現した点が凄い所だと思う。

また、A successful git branching model のように、たくさんのブランチを意図的に作り、マージやリリースを複雑にするワークフローでもない。
Gitコマンドを手作業で実行しなくても、GitHubという優れたWebUIがその操作を代替してくれる。

歴史を振り返ると、2000年頃に出現したXPのプラクティス「ソースの共同所有」が叫ばれた時代は、CVSがまだ一般的に普及しているとは言えない頃だった。
そして今、GitHub FlowというPullRequest主導のチケット駆動開発によって、よりアジャイルに開発してリリースできるようになった。

技術やツールがプロセスや文化を変えていく。
その観点で今後も追いかけてみる。

|

« サーバー構築を構成管理とTDDで作業する時代になってきた | トップページ | 実践反復型ソフトウェア開発を読む part1~ブランチの戦略 »

Agile」カテゴリの記事

Git・構成管理」カテゴリの記事

ソフトウェア工学」カテゴリの記事

チケット駆動開発」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« サーバー構築を構成管理とTDDで作業する時代になってきた | トップページ | 実践反復型ソフトウェア開発を読む part1~ブランチの戦略 »