I can’t remember how many times I had to rebase, reset, or clear a git repository history due to someone unintentionally committing large files which couldn’t be pushed afterward. This pre-commit hook does exactly take care of this:
Here is a repo to some other useful pre-commit hooks: