https://b.hatena.ne.jp/entry/s/github.blog/jp/2021-01-06-commits-are-snapshots-not-diffs/
複数の差分からスナップショットを取り出すことは必ず成功するが、
複数のスナップショットから差分を取り出すことは失敗する場合がある。
gitでファイル名変更とファイル内容変更を同時に行ったときに、
つまり、コミットをスナップショットとして保存する設計には実害がある。
確かにスナップショット方式であればバグによっって特定のコミット内容が失われた時に、
しかしバージョン管理システムは通常そのようなバグが発生しえないほど安定した状態で使われるため
その上gitでもレポジトリ容量削減のために、記憶媒体上に保存されるデータは差分なので
初期のプロトタイプ版開発のためにはスナップショット方式は有効だったかもしれないが、
リリース版でもその方式を利用し続けたのはgitの設計上の欠陥であり、