Gitの内部実装
可視化
どの Git コマンドで .git ディレクトリのどこが変わるかについて、30のステップで説明
複数のリポジトリを行き来しながら、リポジトリがお互いにオブジェクトをやり取りする様子を観察できる
.gitの中身
.git/index
リファレンスのリファレンス
.git/HEADとか
補助的なもの
ログ
設定
「Gitのcommitは、前のcommitとの差分ではなくtreeのshopshotである」の意味
もしくは、書く
もともと100行のコードのcommitに、1行加えてcommitしたときに、
新規の1行分のデータが追加されるのではなく、
101行全体のデータが追加される
という意味
ハッシュなどの過程は踏んでいるが雑に言えばこんな感じmrsekut.icon
差分を見るときは、100行commitと101行commitを比較している
参考
詳しい。イラストもある
続編
commit オブジェクト、ブランチ、タグ、stashについて
途中から読んでいないmrsekut.icon
めっちゃ詳しい。シリーズで5記事ある