That requires everyone to have access to the repo, and to wade through it looking for changes to the relevant area of code you're working in. That sucks.
Relying on commits also fails as soon as feature branches start being squashed. And the comments in commits can’t be modified over time. You have to hope readers “git blame” the correct lines of your code.
If your git squash contains all the commit messages, it’s a pain to figure out which commit message refers to which line of code.
A comment goes right there. No tools needed. Mutable. Readable. Contextually in place. And you can even add comments while coding without waiting for the commit.
In which situation would you not have access to the repo? I guess if it's a library or something, but libraries must always be documented in a different way to business code.