I masquerade as proficient in this field and I'm pretty sure I've done that just by accident with git a few times. Assuming any developer on your team is much better than monkeys on typewriters when it comes to git will lead to disappointment.
I've probably done it a bunch of times on my side projects too, but in any environment where code review is enforce you should probably be enforcing using the tooling to do the merge too, and not giving individual developers permission to push to the main branch.
This only enforces it where you have the hook installed. And it cannot be pre-installed on people who have newly cloned the repo.
Which makes it nearly useless. Not totally - the people who know about it benefit - but it's extremely far from safe. The only way to really enforce this is to add this kind of thing to your "main" remote repo that everyone pushes to.