Pflege und Synchronisation eines gespiegelten entfernten Git-Repositorys

Ich verwende vor kurzem einen Remote-Git-Server (meinen eigenen Computer), und der Server funktioniert nicht ordnungsgemäß und kann nicht remote zugegriffen werden.

Ich habe mich gefragt, ob es eine geeignete Möglichkeit gibt, ZWEI Remote-Depots zu verwalten, damit das zweite Depot auf meinem anderen Computer eingerichtet werden kannautomatisch verwendet, wenn der erste ausfällt?

Meine zweite Frage ist, wie Sie automatisch (z. B. über ein Skript) die primären und Backup-Remote-Depots in regelmäßigen Abständen synchronisieren und wie ich ändern kann, welches das Standard- / primäre Depo ist.

Mein täglicher Anwendungsfall ist ziemlich einfach:

git clone user@host:A.git
cd A
(modify code ..)
git add .
git commit -m "..."
git push
git pull ....

Es gibt also keine Verzweigungen und Konflikte sind hier nicht mein Anliegen. Das primäre und das Backup-Repository sollten nur Momentaufnahmen derselben Arbeit zu verschiedenen Zeitpunkten sein. Einige von ihnen sind möglicherweise aufgrund von Zugänglichkeitsproblemen im Rückstand.

P.S. Ich frage nicht nach den Grundlagen, wie man ein (nacktes) Remote-Depo einrichtet und regelmäßige Push-Pulls mit ssh durchführt. Was ich frage ist, ob es eine Möglichkeit gibt, automatisch zwischen einem primären und einem Backup-Repo zu wechseln, wenn einer von ihnen ausfällt.

Vielen Dank.

--- EDIT ---

Zur Verdeutlichung läuft meine Frage auf Folgendes hinaus:

Gibt es eine Möglichkeit, zwei Remote-Repositorys wie ein Mirroring-RAID (Festplattenarray) einzurichten?

a pull Request zieht aus dem aktuellsten Repo und apush Die Anforderung überträgt Änderungen an alle Live-Spiegel.

Wenn eines der Repos ausfällt und wiederkommt, werden die in anderen Repos angesammelten Änderungen übernommen.

Hinweis: Es gibt einen alten BeitragHier, der eine verwandte Frage stellt. Aber die Antworten dort haben das Synchronisationsproblem nicht angesprochen und was passiert, wenn mehrere Repos nicht mehr synchron sind.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage