Earlier quoted context omitted.
We do precisely this ... and we're still dealing with the load issues. Currently I have fail2ban doing a 10 day block on any IP addr that hits our read only http-git endpoint twice in 30 mins. The problem with this is that the default implementation of iptables doesn't scale well to 100k blocked addresses.
Does that not cause your devs, or people doing contributions, or browsing commits via the web, to get blocked?
We mirror to github for public access; our developers all use git itself, not the web interface, for interacting with the repo.
How/what github et al. are doing to deal with this, I do not know.