This is an in-progress translation.
To help translate the book, please fork the book at GitHub and push your contributions.

Chapter 9

Gitの内側

以前の章を飛ばしてこの章に来るか、この本の他の部分を読んだ後にここに到達したかでしょう。どちらの場合であっても、この章は、Gitの内部動作と実装を辿るところになります。この情報を学習することは、Gitがどうして便利で効果的なのかを理解するのには根本的には重要重要ですが、他の人々は初心者には混乱を招き無駄に複雑だと主張してきました。このため、遅かれ早かれ学習の仕方にあわせて読めるように、この議論をこの本の最後の章におきました。いつ読むかは、読者の判断にお任せします。

今やあなたはこの章を読んでいるので、早速、この章の議論を始めましょう。まず、Gitは基本的に連想記憶ファイル・システム(content-addressable filesystem)であり、それの上に書かれたVCSユーザー・インターフェイスを備えています。これが意味することを、もうちょっと学習していきましょう。

初期のGit(主として1.5以前)では、磨き上げられたVCSというより、むしろファイル・システムを(Gitの特徴として)強調したため、そのユーザー・インターフェイスは今よりも複雑なものでした。最近の数年間で、ユーザー・インターフェイスは、簡潔でそこら中のあらゆるシステムで簡単に扱えるまで改良されましたが、Gitに対する固定観念はたいてい、複雑で学習するのが難しい、初期のGitのユーザー・インターフェイスのあたりから変わっていません。

連想記憶ファイル・システム層は、驚くほど素晴らしいので、この章の最初でそれをカバーすることにします。そして、転送メカニズムと、結局は取り扱う事になるリポジトリの保守作業について学習することにします。