Do your commits fail because of pre-commit?
Do those hooks tend to fix the problems they detect? E.g. python's black and isort?
Are you frustrated by having to find out which items were changed and should be updated?
Did you ever accidentally add items because you did a lazy git add .
when you shouldn't have?
Well here's the solution:
git add <your-stuff>
git commit # fails because black/isort or something else fixes something
git update-index --again # <-- automatically stage updates in <your-stuff> but nothing else
git commit # passes