Другой официальный способ - использовать 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
.
Я считаю так.