近藤です。こんにちは。Gitは様々な利用の仕方ができますが、その基盤となるモデルは8個だけの簡単なモデルです。これらのモデルを理解していない状態でGitを利用すると、あたかもリポジトリが壊れたように見えてしまいます。Gitは難しいと言われますが、そういう感想を持つ人はGitのモデルを理解していない事が多いようです。 今回はGitを構成する中心モデルと、基本的なコマンドを実行した時のオブジェクト関係を解説します。 基本概念 Gitの基本概念は大きく2つにわかれます。 GitObject Reference GitObjectはGitで管理するオブジェクトです。CommitなどがGitObjectです。Gitリポジトリである.gitを開くとobjects配下にあるファイルがGitObjectです。GitObjectはそのコンテンツをハッシュ化した文字列を元に、先頭2文字で配置フォルダ、残りの文
![Gitのデータモデル](https://cdn-ak-scissors.b.st-hatena.com/image/square/c3158600c5297df7c735921715e9c550ba69cb82/height=288;version=1;width=512/https%3A%2F%2Fastahblogjapan.files.wordpress.com%2F2015%2F07%2Fe382b3e3839fe38383e38388e591a8e3828ae381aee6a682e5bfb5-e1436755575359.png)