git、使ってますよ。
githubとか
gistは使ってるので、どうしても使わざるを得ません。
元々はbitbucketで追いかけてたオープンソースがgithubに移行したので仕方なく、でしたが、実際、gistも便利ですしね。
分散バージョン管理、数ありますが、容易度(難易度ではない)で言うと。
bzr? > mercurial >>>>越えられない壁>>>git
いや、実際、判らないですよ。git
出稼ぎ先のスタッフは、mercurialでの運用には、2週間で概ね慣れてくれました。実際簡単です。トータスHGの存在は割り引いて考えるにしても。
小生が使い始めたのはmercurialが0.7まで遡りますが、コマンドライン数回叩いて、納得できましたから。subversionに極力「似せてる」のもポイントですね。 pushは、簡易なデプロイ機能として使えますし、オマケに現地でのパッチをスムーズに吸い上げることが出来る!こりゃ凄い。てなもんでさ。
機能的にはgitでも勿論出来ますが、
問題は、「出来るか否か」ではありません。
「使うことがメリットになるか(厳密には使いこなせるか)どうか」です。
使いこなせない機能は「存在しない」も同じ。
gitの判りにくさの原因の一つは、異なるコンテキストの「省略語の管理」が、表面上同列に扱えてしまうところだと思う。
git push origin remote
とか。せめてこう書いてくれれば解るのですが
git push -b origin -r remote
どこが違うのって?まあそうね。心の準備をさせてよ!ってところでしょうか。
originもremoteも、いずれも暗黙の省略後。「設定した覚え」がないのに使え、って言われてもピンと来ません。 何度か .git/configを手で書き換えたことがあるほどですよ。
まあ要するに、「gitに移行するのは、「mercurialの◯◯が嫌いだ!」と言えるようになってから」でも遅くはありません。
実際、gitのオススメ記事は「mercurialには出来ないけど、gitには出来ます!」的な物言いが多い。気持ちは解ります。小生だって同じ立場ならそうする。でもそれを聞いてもピンと来ません。mercurialに不満がないからね。
最後の、gitの嫌いなところを明記しておきましょう。
git講座のどこを見ても「履歴を綺麗にする」というフレーズが見当たります。「チェンジセットのガベージコレクション」??? 参照してようがいまいが、履歴を削除しちゃいかんだろうと。正直、「仕事」ではやっちゃいかんと思う。どちらが正しいか。という議論をする気は毛頭ありません。これは「正義」の問題なので。オープンソースなら問題ありません。「趣味」だから。※もちろん「趣味」を馬鹿にしてるわけでもない。