You can just run git cat-file -t $sha and check it returns “commit”. You are right, you don’t need to actually print the actual object for that…
I’m not 100% sure that what goes on behind the scene is more efficient, though.
test $(git cat-file -t $sha) == commit