To be fair, git is not the only guy out there...any version control system will do.
Even svn can do this except you lose the lovely aspects of distributed version control software like hg and git offer.
When version system wasn't invented? You just have a shared file system and you coordinate with people. diff is an old software from the 70s.
You can still keep committing locally.
Provided that you have a copy in the first place and you have the most-up-to-update version. Otherwise, you need to get it from someone else.
You can add another remote (e.g. BitBucket, a shared directory, or just a USB stick) and keep collaborating.
You can run local server to handle incoming and outgoing.
You can even share patches by email if you want.
Patch exists before git, just use diff.
Don't get me wrong. I love git. It's nice. I also like github. I just think we ultimately have to remember sync is an issue regardless which VCS we use.
With tools like Subversion, you will have to work hard to get the ability to commit locally, and it will cause all sorts of merging difficulties as soon as you get to non-linear history (two people make local commits and then want to upstream them—you simply can't do it without rewriting history). Non-distributed version control systems are simply not designed for that mode of operation. A DVCS is designed to cope with these issues: you don't need to go out of your way to be able to commit locally: it works that way by default.
There is one problem though I can see which is a lot of package managers link straight to GitHub's raw tarballs as well as some deployment tools. Hopefully that will be improved over time though.
You can still keep committing locally.
You can add another remote (e.g. BitBucket, a shared directory, or just a USB stick) and keep collaborating.
You can even share patches by email if you want.
And when GitHub is back up, you can just push your commits to GitHub and it will be like the outage never happened.
I often wonder how collaboration was ever possible before git.