Mercurial は差分を管理しているけど Git はしていないみたい


なんか、どうしても Git の動作がよくわからなかったんだけど、Git は差分を管理してなくて、各バージョンのファイルをすべてまるごと保存しているらしい。たとえば 5 MB の CSV ファイルがあったとして、それをちょこっと変更しただけでも、変更前と後のファイルは違うファイルとしてまるごと保存される。なるほど。

今まで、なんか Mercurial と違うなー、と思ってたけど、中の仕組みから違ったのね。
Mercurial でいうところの Changeset と、Git でいうところの Commit は、同じ物だと思ってたけど、ぜんぜん違いましたわ。

Git、富豪的だなあ。ソースコードならテキストだから、まるごと保存したところで大した量ではないだろうけど、画像とか映像の管理には向かないよな。
Mercurial もバイナリの差分はとってくれないそうだから、おんなじか。