Since git lets you rewrite history, it seems to me it may be possible for someone with commit access to your repository to irreparably remove files. (Again, it's tracking content, not representing history.) Here's a way to make backups easy.
- Create a location for your backup repo:
ssh safehost; mkdir backupdir; cd backupdir; git init
- Back on your own machine, add a section to
.git/configthat sets up an alias for pushing:
[remote "backup"] url = safehost:backupdir push = +refs/heads/*:refs/heads/*The last line says that any branches on your local machine become branches on the remote machine.
- Now you have a "backup" alias, so any time you want to snapshot your branches, just run
git push backup.