Commits are shapshots, not diffs
Git is the leakiest abstraction in the history of abstractions.<p>Diffs are a &quot;natural&quot; object for version control yet got doesn&#x27;t actually use them and as we can see in this article, multiple git commands leak this implementation detail.