3 ms·
I guess the significant difference is that with git, all copies of a repository are full working repositories in and of themselves. So there is no difference be
by Mordak 14y ago
I guess the significant difference is that with git, all copies of a repository are full working repositories in and of themselves. So there is no difference between the repository on your git server and the copy you cloned onto your workstation (that's why it's 'clone' and not 'checkout').
This makes some things easier. If the 'server' dies, you can substitute any other copy of the repository for the original. So if github disappears I can still continue to hack away on my code like usual (commit, branch, merge, etc), and if I decide to publish on gitorious or something later, then I just push my local repository up and everything is there (full history, etc). This sort of obviates the need for 'backups', since your copy is already a backup, but making extra backups of any repository is as trivial as copying it (rsync) or cloning it to somewhere else (cd /backup; git clone /myrepo) - so I don't need to run a server or anything to make backups.
As a thought experiment to illustrate the practical difference, consider why pull requests are so trivial to implement on github, and how would they work on the hypothetical svnhub?