Works absolutely fine with git, you just have to take the time to keep the pre-commit checks reasonably quick
Working exclusively on branches and then merging into a common main branch pretty much fixes this problem though (that's why the PR workflow make a lot more sense in git than svn).
We do that on our CI repo because of many tiny changes of unrelated parts that otherwise just made almost every second commit into a merge