You can easily publish a snapshot of a bare Git repository on IPFS[0], and there are front-ends like git-remote-ipfs[1] which integrate IPFS into the Git workflow. The difficulty is that this only gets you a single snapshot. Any change to the repository results in a different CID & URL, which you then need to somehow provide to everyone so that they can see the updates. (This is where IPNS would come in, except it's still a work-in-progress. PubSub for name resolution helps but it's not enabled by default yet.)
You are welcome to your opinion of course but Github has become a pretty essential part of the workflow for many projects, closed and open source both. That it is possible to work around that doesn't diminish that, it's just how people are currently using it. I would have preferred a much more decentralized solution, I always thought it was a mistake that the git core left room enough for the likes of Github to establish themselves as gateways to various projects.