

Show HN: Backup your public GitHub repositories with GitHub-backup - ericlathrop
https://github.com/ericlathrop/github-backup

======
w0rd-driven
Where a tool like this seems to _really_ make sense is not in the git
repository. Most of us know or should know how to back this up properly.

The real power comes in dumping the issues, wiki, PRs, and any other
information that is not completely contained in git. Having something that
would dump the git+ so that even if a site like GitHub were to shutdown you at
least had data, in hopefully human readable format like JSON, that can be
parsed at a later time if you so choose.

This would also open the door for interop between things like GitLab, GitHub,
and Bitbucket which all seem to have their own version of what the term "git+"
should be. If this could be a pathway to lead to standardizing that API on top
of git so that all these different players can talk with one another would be
kinda huge as well. It's hard to see Github and Bitbucket wanting to work
together for something like this when they have mouths to feed but something
tells me "if _we_ build it, _they_ will come."

~~~
josegonzalez
I wrote a tool like that for Github almost a year ago, finally got around to
packaging it. It copies issues, issue events, watched/starred/private/public
repos, wikis, etc. All configured via arguments. It's written in python with
no external dependencies, so should work fine in most versions:

\- [https://pypi.python.org/pypi/github-
backup](https://pypi.python.org/pypi/github-backup)

I built it as our company github org is getting quite big, and I wanted to
backup my own repositories (at the time I had something like ~300 repos, which
I've since slimmed down). Worked well enough for me.

~~~
ericlathrop
That looks very nice. Much more comprehensive than my tool. If all my tool
accomplished was to prompt you to release your better tool, then I'm a happy
camper. Yay open source!

------
cookrn
I released this as a product a few years ago and subsequently open sourced it.
With a bit of work, it could be a good little web app to run on your own
server to manage repo backups.

[https://github.com/antiqua-io/Antiqua](https://github.com/antiqua-io/Antiqua)

------
blainesch
Aren't your repos already backed up locally? I mean that is where I created
them...

~~~
ericlathrop
Not when you use several different computers, or when you're done with an old
project and delete your local copy.

~~~
ericlathrop
Plus, you can use this to backup someone else's repos in case they delete
them.

------
atmosx
If I have to backup my github repositories what good is github for?! Showing
my code to the world?!

~~~
hayksaakian
Its a back up, not a replacement.

Maybe github is down or they close your account because they don't like you.

------
tlongren
Can't even get it to work. Runs, but does nada. What am I missing?

~~~
ericlathrop
Do you have node.js installed and in your $PATH?

------
teach
Are there really people whose ONLY copy of a project is on GitHub? If so, I
think they're not doing _distributed_ version control correctly.

~~~
ericlathrop
This tool helps you stay distributed by keeping a server somewhere that
constantly backs up all your repos. With this you can't accidentally forget to
make a copy if you make a quick repo in a coffee shop somewhere, and delete
the local copy days later when you're cleaning up.

~~~
deanclatworthy
Or you could mirror to multiple repositories with one push. I write about how
to use Github & Bitbucket simultaneously here:
[http://deanclatworthy.com/2013/01/how-to-avoid-relying-on-
gi...](http://deanclatworthy.com/2013/01/how-to-avoid-relying-on-github-
mirror-your-repository/)

~~~
ericlathrop
Wow, that's a pretty neat approach! How well does that work with multiple
people?

~~~
tomswartz07
I can't imagine it would be that difficult with multiple people.

Even if they pulled from one or the other, so long as _someone_ merges the
changes from the missing repo, everyone will be good to go.

This is a pretty unique approach to multiple git servers.

