A commit is kind of 'object' in git, and identifies and specifies a 'snapshot' of the branch at the time of the commit.
an object is a file stored under .git/objects
eg: object e6f53bc19b182fed6cd580329747f93393504389 is a file stored at .git/objects/e6/f53bc19b182fed6cd580329747f93393504389
If the object is a commit, it records other objects that together specify the commit 'snapshot'.
Typically, the 'other objects' recorded in a commit is just two other objects - the parent commit of the current commit and the 'tree' object that specifies the actual files.
You can examine an object thus
$ git cat-file -p e6f53bc19b182fed6cd580329747f93393504389
tree 7cb95c95270b3f28a3cb6e2107f89dc7e950d93e
parent 507dbda38d769e8c69b3701cbd21a40b3a39206e
author xx <xx@xx.com> 1578053251 +0000
committer xx <xx@xx.com> 1578053251 +0000
my big commit message here!
That's it. A commit is a file stored in .git/objects that specifies a snapshot. It contains one or more references to the parent commits and a reference to a tree object.
There are 3 types of 'git object'
commit object: contains reference to commit objects and tree objects
tree object: contains references to 'blob' objects and tree objects
blob object: contains the file contents, a blob object usually represents a whole file.