See jthill's answer, but to some extent I'll note that this is "just" a terminology issue. I put "just" in quote because terminology and semantics are crucial to actual understanding, and the phrase mere semantics kind of puts me on edge: semantics aren't mere at all. They are essential! Without semantics, nothing we say has any meaning.
A useful distinction is to say that a Git commit—the noun—refers to:
- the commit object, plus
- its supporting tree object and any sub-trees and blob objects
and therefore it's the entire saved snapshot plus the metadata.1 Meanwhile, a commit object—where we use the word commit as an adjective modifying the noun object—is merely the commit object itself, consisting entirely of commit metadata, since the saved snapshot is found indirectly through the tree line.
As matt points out in a footnote, we also have the verb form, to commit, which means to make one of these commit objects that uses a tree object that uses subtrees and/or blobs.
In the end, then, the semantics are:
- to commit: commit as a verb, meaning to make a commit;
- a commit: commit as a noun, meaning the whole ball of wax; and
- a commit object: commit as an adjective, modifying object, meaning the internal Git object that stores only the metadata part of the whole-ball-of-wax.
Humans being human, and natural language being what it is, you'll see the terms being used inappropriately, with the expectation that the reading/listening human will receive instead what the writing/speaking human intended to say.
1Note that this means that I disagree with jthill's definition, which defines commit and commit object as the same thing. That's OK! Different people can have different definitions. The aim of the last claim before this footnote is that we should try to understand what someone else meant, even if that requires adapting to their terminology for a while.