SourceTreeで楽々git-flow, hg-flow #augj
Atlassian Advent Calendar 2012 #augj
Atlassian Advent Calendar 2012 #augj on Zusaarのエントリになります。
前日はid:sue445さんのBitbucketとGithubをゆるく比較 #augj - くりにっきです。
明日はid:troter さんです。
git-flow, hg-flow がすごいらしい
楽にブランチ戦略を試せるし、うまいことやれるし、とりあえず始めて見る分にはgit-flow, hg-flowはいいと思うのです。
あれですね。WebアプリをとりあえずつくってみたくなったときにRailsでやってみる。的な。
ですが、なんだかんだでgit-flowやhg-flowになるとコマンドをうちます。素のgitやhgよりとても簡単になってはいますが。
問題はhgのほうです。
hgは既に史上最高のGUIクライアントであるTortoiseHgを擁しているわけで、hg-flowでコマンドラインに移行するのは「気楽さ」的にはあまり良さがないように思えます。
SourceTree
だがしかし。SourceTreeというGUIクライアントがありまして。現在はAtlassianさんが開発をしているこのツール。なんと、hg-flowとgit-flowをサポートしています。
しかもこのGUIクライアントはなかなか使い易いのです。
ということで、hg-flowの使い方を紹介しようと思います。
git-flow, hg-flowのブランチ戦略、ワークフローについて
概念図はこちらに翻訳付きでのっています。
【見えないチカラ: A successful Git branching model を翻訳しました】
インストールする必要のあるもの
MercurialとSourceTreeになります。
Mercurialはhomebrewでいれられますが、もしかしたらhg help日本語訳がでないかもしれません。
そのときはMercurialの公式サイトからバイナリをインストールしましょう。
SourceTreeはAppStoreからインストールしましょう。
hg-flowを別途インストールする必要はありません。
はじめよう
おおまかに次の流れになります。
- SourceTreeを起動してリポジトリをつくる。
- hg-flowをはじめる
- 新しいfeatureをつくる
- featureの開発が完了する
- リリースをはじめる
- リリースを完了する
- リリースしたものへの緊急対応をする
どうやってこれが流れているのかは先のA successful Git branching model を見てもらうとして、それぞれに対応するSourceTreeの操作を説明します。
hg-flowをはじめる
hg-flowのコマンドは基本的にウィンドウの右上あたりにある「hg flow」ボタンをクリックすると、デフォルトで「次にこれしたいんですよねー」って感じで選んでくれてウィンドウが出現します。わかりやすいですね。
まとめ
コマンドでも次々とすすむのはかわらないのですが、フローをすすめるアクションのたびに「こんなブランチになる予定だよ」という表示がでるのはわかりやすいですね。
DVCSのブランチ戦略でもっとも重要なのは「リビジョングラフをいかに頭の中で描けるか」なので。
hg-flowとかgit-flowとか始めるの面倒そうだなぁと感じていた方はこれでちょっと触ってみるのもいいのではないでしょうか。