MercurialとGitの違いは何ですか?

Windowsではしばらく前からgitを使っていて(msysGitを使って)、分散型ソース管理のアイデアが気に入っています。つい最近,Mercurial (hg) を見てみたのですが,面白そうですね。しかし、hgとgitの違いがいまいちよくわかりません。

どなたかgitとhgを並べて比較した方はいらっしゃいますか?ファンボーイ的な議論をしなくても、hgとgitの違いを知りたいと思っています。

ソリューション

これらの記事が参考になるかもしれません。

編集。GitやMercurialを有名人に例えるのはトレンドのようですね。ここにも1つあります。

  • Gitはウェズリー・スナイプス、Mercurialはデンゼル・ワシントン]3
解説 (1)

去年のある日、私は自分で使うためにgitとhgの両方を評価し、hgを採用することに決めました。そちらのほうがすっきりとしたソリューションに見えましたし、当時はより多くのプラットフォームで動作していたからです。とはいえ、ほとんどの場合は議論の余地がありました。

最近になって私がgitを使い始めたのは、git-svnとSubversionのクライアントとして動作する機能があったからです。これに惹かれて、今では完全にgitに切り替えました。gitの方が若干学習コストが高いとは思いますが(特に内部を覗く必要がある場合)、本当に素晴らしいシステムだと思います。Johnが投稿した2つの比較記事を読んでみようと思います。

解説 (1)

私は現在、SVNからDVCSへの移行を進めているところで、その結果をブログに書いています。私が見た限りでは、両方のパッケージでほとんどのことができます。ただ,gitの方がより高度な機能を備えているような気がします。 Windowsとの連携は、TortoiseHgではmercurialの方が少し優れているような気がします。Git Cheetahもあることは知っていますが(両方試しました)、mercurialのソリューションの方がより強固に感じられます。

どちらもオープンソースなので、重要な機能が欠けているとは思えません。もし何かが重要であれば、人々はそれを求め、人々はそれをコード化するでしょう。

一般的な使い方であれば、GitとMercurialで十分すぎるほどだと思います。どちらも大きなプロジェクトで使われているので(Git -> linux kernel, Mercurial -> Mozilla foundation projects, もちろん他にもありますが)、どちらも本当に何かが欠けているとは思いません。

とはいえ、これについて他の人がどう言っているのか興味があります。私のブログを書く上での良い材料になるでしょうから ;-)

解説 (1)