Я пытаюсь встроить некоторую избыточность в наше развертывание git помимо стандартной резервной копии.На бумаге казалось, что было бы легко восстановить репозиторий, который клонировали несколько пользователей, используя репозиторий, который я создал и связал / синхронизировал с использованием git remote.
В прошлом я сталкивался с проблемами с лентами резервных копий, либо получая плохую резервную копию, либо получая ленты с удаленного сайта.Я смотрю на удаленную возможность того, что сервер, на котором размещены локальные филиалы для потерянного репо, потерпел катастрофический сбой, и мне нужно восстановить и запустить большую исходную базу в кратчайшие сроки с минимальными перебоями.
Идея заключается в том, чтобы поддерживать внешний сервер, который просто бездействовал, получая обновления из рабочей коробки.Когда производственная коробка взорвалась, я затем сделал бы псевдоним сервера резервным сервером и сделал бы локальные копии «потерянных» удаленных веток
Пока что это то, что я думаю для пути восстановления для репозитория:
- grep for the dead servers alias
- Parse for the remote branch names
- checkout the remote branches to the recovery repository
- Remove the dead servers alias
EG с использованием tcsh:
foreach q (git branch -a | grep kaboom-1 | cut -f 2 -d '/'
)
git checkout -b branch kaboom-1 / branch
end
git remote rm kaboom
При тестировании это сработало замечательно, но тестирование в лаборатории не всегда напрямую отражается на жизнеспособности реального мира.Кто-нибудь выполнял этот тип восстановления в прошлом или вы видите проблему с этим методом?