Я использую Mercurial для дома. Репозиторий клонируется и поддерживается на двух моих рабочих компьютерах. Наконец, я храню набор архивных файлов hg на внешнем жестком диске, который автоматически создается сценарием Python, который я написал. В основе архива лежит набор репозиториев, хранящихся на «домашнем» компьютере.
Я не делаю ничего новаторского здесь, но вероятность того, что несколько жестких дисков сломаются одновременно, маловероятна. Более того, это почти автоматически, потому что я периодически переключаюсь между двумя компьютерами.
Если мне нужно изменить большой сегмент кода, я сделаю непрерывные небольшие коммиты в клоне ветви, а затем вернусь назад, когда я закончу. Я предпочитаю сегментировать мои изменения в небольших контролируемых группах. По своей сути ветка будет резервной копией, потому что вышеупомянутый скрипт идентифицирует все репозитории hg и поддерживает их все. Короче говоря, если они существуют, они резервируются.