Зеркально репозиторий git, потянув?

Мне интересно, есть ли простой способ, т.е. как простое задание cron, регулярно извлекать из удаленного репозитория git локальное зеркало для чтения для целей резервного копирования?

В идеале он будет тянуть все ветки и метки, но хозяин/туловище/голова будет достаточным.

Мне просто нужен способ убедиться, что если главный сервер git умирает, у нас есть место для резервного копирования, с которым мы могли бы сбой вручную.

Ответ 1

Сначала создайте зеркало с

git clone --mirror [email protected]:repo.git

затем настройте задание cron следующим образом:

*/1 * * * * gitbackup cd /backup/repo.git && git fetch -q --tags

Это будет делать резервные копии наборов изменений каждую минуту. Возможно, вы хотите сделать это реже.

Ответ 2

Как отметил Андрей, каждый клон репо git - это полноценная резервная копия репо. Тем не менее, если вы хотите, чтобы что-то резервное копировало автоматически на определенную машину, вы можете создать голый репо на резервном сервере, надавить на него всеми ветвями, которые вы хотите создать, чтобы их сначала заполнить. Затем просто настройте крюк обновления сообщения на "основное" репо, чтобы как только были введены коммиты, он идет вперед и подталкивает их к резервному репо. Нет необходимости в задании cron или rsync, и его почти живая копия.

Ответ 3

У вас есть прямой доступ к серверу? то вы можете просто rsync каталог .git