07/12/03 07:05:35
>>432-433
スレ違いとか言って怒られそうな気がしなくもないんだが。。。
Subversionからはけっこう考え方が変わってしまうので、実際に使ってみないと
理解するの難しいと思うんだけど、、、Mercurialはそっくりらしいんだけど、、、
基本的に中央集権型のやり方を否定してるので、全員マスターリポジトリに
なります。例えばLinuxカーネルをGitで持ってくると、その時点から
オレLinuxのはじまり。
コラボレーションは、どこか違う場所に変更をコミットするというのではなくて、
「欲しい人はここから持ってっていいよ」っていうスタイルで。
上の例で持ってきたLinuxカーネルを元にいろいろいじくりまわして俺コミットを
たくさん作って、そうこうしてるうちに持ってきた先の最新の変更が欲しくなったら、
そこから変更を持ってくるんだけど、この時、マージがすごくスムーズにいく。
例えば、Linux開発版ブランチを持ってきて、そこから俺コミットで突き進んでる
として、その元にしている開発版ブランチが向こうでは安定版ブランチにマージ
されて伸びなくなってしまったとした場合、オレとしては、もう伸びることのない
開発版ブランチを追いかけていてもしょうがないんだけど、そんな時に根元を
安定版ブランチに乗換えつつ、今までの俺コミットはきれいにマージできる。
いつも自分専用のリポジトリで、超気軽にブランチが作れるので、
てきとうにコミットしてから再度きれいにコミットしなおしたり(修正の内容ごとに
2つのコミットに分けるなど)、やりかけの状態をコミットして元に戻ってみたり
(ボスが来たモード)急ぎのやつをやっつけたらもっかいその変更を取り出してみたり、
ずっと以前のコミットを修正したりなど、とにかくやりたい放題。
まあやりたい放題もすごく気持ちいいんだけど、
どのリポジトリも特別じゃないですよ、っていう精神に俺は惚れました。