Поддержание и синхронизация зеркала с удаленным Git-репозиторием
Я недавно использую удаленный сервер git (мой собственный компьютер), и сервер работает неправильно и не может получить удаленный доступ.
Мне было интересно, если есть правильный способ обслуживания ДВУХ удаленных хранилищ, так что второй хранилище на моем другом компьютере может бытьавтоматически используется, когда первый выходит из строя?
Мой второй вопрос: как автоматически (например, с помощью скрипта) периодически синхронизировать основной и резервный удаленные депозитарии, и как я могу выбрать, какой из них является депо по умолчанию / первичному депо?
Мой ежедневный пример использования довольно прост:
git clone user@host:A.git
cd A
(modify code ..)
git add .
git commit -m "..."
git push
git pull ....
Таким образом, здесь нет разветвлений и конфликтов, это не мое дело. Основной и резервный репозитории должны быть просто моментальными снимками одной и той же работы в разные моменты времени. Некоторые из них могут отставать из-за проблем доступности.
Постскриптум Я не спрашиваю основ о том, как настроить (голое) удаленное депо, и делаю обычные push-pull с использованием ssh. Я спрашиваю, есть ли способ автоматического переключения между основным и резервным репо при сбое одного из них.
Благодарю.
--- РЕДАКТИРОВАТЬ ---
Чтобы уточнить, мой вопрос сводится к следующему:
Есть ли способ настроить два удаленных репозитория, например, зеркальный RAID (дисковый массив), где
a pull
запрос тянет от самого современного репо, иpush
запрос выдвигает изменения на все живые зеркала.
Если один из репо вышел из строя и вернулся снова, он поймает изменения, накопленные в других репо.
Примечание: есть старый постВот, который задает связанный вопрос. Но ответы там не касались проблемы синхронизации и того, что происходит, когда несколько репо становятся несинхронными.