The author of jgit has implemented an Amazon S3 protocol to support git fetch and git push on a S3 bucket. Anyone who compiled jgit on their systems can use jgit to push their git repositories to S3. This implementation is based on jets3t, a Java S3 client library written from the ground (Update: Sorry to mess up with this. Shawn corrects me in the comment).
Jgit’s S3 protocol implementation is similar to the http protocol in C git, and it also supports transparent client-side encryption. A S3 bucket can host “any number of repositories and acts as a root directory.” S3’s ACL mechanism protects the git repositories from the wild.
I like git, and I use github a lot. This S3 implementation does not make me leave github. However, it seems to be a fantastic backup solution for my git repositories. I am looking forward to a native C implementation.