Automatically mirroring a GitHub repo

I suspect this question has been asked before, though all I can find are similar but distinct questions or the same one with only solutions that do not work for me.

There is a repository on GitHub that I have no control over and would like to mirror. With mirror I mean have a clone that gets updated automatically. I want this mirror to also be on GitHub. Preferably any solution would not involve much configuration or setup work from my side. However if needed I can have a script run using a cron on some VPS.

Can I create such a mirror purely via GitHub? If not, are there ready to use scripts to do this?


Interesting question, considering all Eclipse repos are mirrored on GitHub.

But, as illustrated by the recent (April 2013) article from Wayne, the re is no automatic GitHub way to mirror a repo.

As far as I know, GitHub provides no mechanism to schedule a regular pull (correct me if I’m wrong), which means that it would become our responsibility to push to the GitHub clone.

See also bug 402183.

So a script on a VPS (ie, something you setup) remains the surest way to implement this.

Building on "HowTo mirror your git repository on Github", you would need your own local clone, with a script which would:

  • regularly pull from the GitHub repo
  • push to the mirror on Github

Update 2015 (2 years later): a tool like beefsack/git-mirror (in go) is:

designed to create and serve read-only mirrors of your Git repositories locally or wherever you choose.
A recent GitHub outage reinforces the fact that developers shouldn't be relying on a single remote for hosting code.


 ? How do I completely mirror a web page?
 ? Swift: Reflecting properties of subclass of NSManagedObject
 ? How do I mirror a directory with wget without creating parent directories?
 ? Eclipse updates are extremely slow
 ? Wget Mirror HTML only
 ? javax.lang.model: How do I get the type of a field?
 ? How to flip a video using AVFoundation
 ? Change mirror of update sites of eclipse plugins
 ? ! [remote rejected] errors after mirroring a git repository
 ? Trying to mirror Apple Watch screen for demo