Иван Шумов, покажите где написано что git хранит изменения (diff-ы)?
В каждом первом учебнике (и в официальной документации) написано что git хранит файлы. Файлы собираются в деревья. Коммиты это ссылка на дерево, родителя (родителей) и метаинформация. Никаких diff-ов в хранилище нет.