Mantendo e Sincronizando um Repositório Git Remoto Espelhado
Recentemente, estou usando um servidor remoto git (meu próprio computador) e o servidor não funcionou corretamente e não pode ser acessado remotamente.
Gostaria de saber se existe uma maneira adequada de manter dois depósitos remotos, para que o segundo depósito no meu outro computador possa serautomaticamente usado quando o primeiro falha?
Minha segunda pergunta é como sincronizar automaticamente (por exemplo, por meio de um script) os depositários remotos principais e de backup periodicamente, e como posso alterar qual é o depósito padrão / primário?
Meu caso de uso diário é bem simples, da seguinte maneira:
git clone user@host:A.git
cd A
(modify code ..)
git add .
git commit -m "..."
git push
git pull ....
Portanto, não há ramificação e conflitos não é da minha conta aqui. Os repositórios primário e de backup (s) devem ser apenas instantâneos do mesmo trabalho em diferentes momentos. Alguns deles podem estar atrasados devido a problemas de acessibilidade.
P.S. Não estou perguntando o básico de como configurar um depo remoto (vazio) e fazer push-pulls regulares usando ssh. O que estou perguntando é se existe uma maneira de alternar automaticamente entre um repositório primário e um de backup quando um deles falha.
Obrigado.
--- EDIT ---
Para esclarecer, minha pergunta se resume a isso:
Existe uma maneira de configurar dois repositórios remotos como um RAID de espelhamento (matriz de disco), em que
a pull
solicitações extraídas do repositório mais atualizado e umapush
request envia alterações para todos os espelhos ao vivo.
Se um dos repositórios for interrompido e voltar novamente, ele captará as alterações acumuladas em outros repositórios.
Nota: existe um post antigoaqui, que faz uma pergunta relacionada. Mas as respostas não abordaram o problema da sincronização e o que acontece quando vários repositórios ficam fora de sincronia.