Folks in the Wheeler lab maintain versioned software using git, with repos on GitHub. I live in (minor) fear that something bad might happen – maybe a repo gets accidentally deleted at exactly the same moment that the only computer it’s on bursts into flames, or all the repos get intentionally deleted by some hacker who demands my first born child for their safe return (maybe worth it, to save the effort of cobbling together all the various projects that are currently strewn across more than a dozen computers).
Uhoh queries the GitHub API for a list of repos (which can be filtered by owner and name), then checks its backup location for a clone. If it finds one, then it runs a git pull. If not, it runs a git clone. Either way, you end up with a backup copy of your repos. Run it in a nightly cron job, and you’ll have one less to worry about.
Uhoh is written in Dart. Check it out on GitHub: https://github.com/TravisWheelerLab/uhoh. The README contains basic instructions for use. See the releases page for pre-compiled downloads.