はじめに 現在参画しているプロジェクトではソースコードをGitで管理していて、日々修正した結果をコミットしています。 ですが、Gitがどういう仕組みで履歴を管理しているか知りませんでした。 コマンドの使い方だけでなく内部の仕組みも理解しようと思い、調べたことをまとめました。 Gitオブジェクト Gitでは以下4種類のオブジェクトでファイルの変更履歴を管理しています。 これらをまとめてGitオブジェクトと呼びます。 blobオブジェクト commitオブジェクト treeオブジェクト tagオブジェクト Gitオブジェクトについて順に解説していきます。 リポジトリを作成 commit_testリポジトリを作成します。