Mercurialチュートリアル hginit.com のまとめ、名前付きブランチが出てこない理由
Mercurialのチュートリアルとして評価の高い Hg Init: a Mercurial tutorial by Joel Spolsky を読み、出てきたコマンド群と主なキーワードについてマインドマップにまとめてみた。マインドマップは全体が俯瞰しやすい。
hginit の和訳は Mercurial チュートリアル hginit.com の和訳 (Contents) - mmitouの日記 はこちら。
hginit の全体俯瞰
各章で紹介があったコマンドに着眼し整理したマップです。
全体を見たい場合はこちら。 https://dl.dropbox.com/u/13521134/mindmaps/freemind.html?hginit.mm
名前付きブランチが出てこないのはなぜ
Joel 氏特有の小ネタもあり、よくできたチュートリアルであるが、一通り読んで気になった点は、名前付きブランチの話が出て来なかったこと。
どうやら Joel氏は、ブランチを使わずに、リポジトリをクローンすることで事実上のブランチを行なっている。名前付きブランチとリポジトリのcloneによるブランチ、どちらが良いのだろうか。
名前付きブランチと複数リポジトリによる分岐の違い
疑問を持つ人はたくさんいるようで、Kiln や、StackOverflow に同様のトピックがある。
- why not use branches? - Kiln Knowledge Exchange
- version control - Mercurial: Named Branches vs Multiple Repositories - Stack Overflow
この回答にもあるが、名前付きブランチだと名前が歴史に残るけど、cloneによる分岐だと分岐していたという情報が残らないというのが大きな違いだろう。
名前付きブランチはいつ使うと良いか
Mercurialでは、名前付きブランチは、 恒久的なブランチ (機能ブランチやリリースブランチ)に用いて、トピックブランチは bookmark を用いると良いという意見もよく聞く。
最良の答えは見いだせていないけど、引き続き、一番バランスの良い方法を模索してみよう。