Другой официальный способ - использовать git bundle.
Это создаст файл, который поддерживает git fetchи git pullдля того, чтобы обновить ваш второй репо.
Полезно для инкрементного резервного копирования и восстановления.
Но если вам нужно сделать резервную копию всего (потому что у вас нет второго репо с уже существующим содержимым), резервное копирование будет более сложным, как упоминалось в моем другом ответе, после комментария Кента Фредрика :
$ git bundle create /tmp/foo master
$ git bundle create /tmp/foo-all --all
$ git bundle list-heads /tmp/foo
$ git bundle list-heads /tmp/foo-all
(Это атомарная операция , в отличие от создания архива из .gitпапки, а комментировал по fantabolous )
Предупреждение: Я бы не рекомендовал Pat Notz «s решение , которое клонирование репо.
Резервное копирование многих файлов всегда сложнее, чем резервное копирование или обновление ... только один.
Если вы посмотрите на историю правок в OP Яра ответ , вы бы увидели , что ЯР используется сначала clone --mirror, ... с редактированием:
Использование этого с Dropbox - полный беспорядок .
У вас будут ошибки синхронизации, и вы НЕ МОЖЕТЕ ЗАВЕРШИТЬ СПРАВОЧНИК В DROPBOX.
Используйте, git bundleесли вы хотите выполнить резервное копирование в свой дропбокс.
Текущее решение Яр использует git bundle.
Я считаю так.