はじめまして。1ヶ月でエンジニアになろうとした山浦です。 先日Gitのことを突っ込んで調べる機会があり、Gitの仕組みって面白いねということを同僚に話していたら「面白いね。ところでGitって実装できる?実装できないと分かったとは言えないよね?」となぜか煽られるということがありました。 そうか、実装できないと分かったとは言えないのか、それも一理あるかもしれない。そう思い、Gitの仕組みを実装できるレベルまで掘り下げて調べてみました。 今回は実装はしないものの(過度に記事が複雑になるので)、Gitの根幹である git add コマンドと git commit コマンドの裏側で起こっていることを紹介します。 差分かスナップショットか? ここで早速クイズです。 コミットで保存されているのはソースコードの差分でしょうか?スナップショットでしょうか? 今回の記事の中で解説していきますので、少し考えなが