Ich suche nach einer Möglichkeit, Git-Repositories automatisch auf (2) Server zu synchronisieren, so dass sie von einem dritten Punkt aus austauschbar sind.
Die Situation ist wie folgt: Wir verwenden git für all unsere Projekte, und einige der Repositories wachsen ziemlich schnell. Momentan haben wir einen zentralen Server und alle schieben / ziehen zu / von diesem. Allerdings geht das alles über die Internetverbindung und ist daher nicht der schnellste Weg.
Die Idee: Setzen Sie einen anderen Server in das Büro und haben Sie alle git-Repositories für die In-Office-Nutzung. Dieser Server müsste mit dem Online-Server synchronisiert werden. Im besten Fall würden die Benutzer nicht einmal wissen, welche sie über eine DNS-Anpassung verwenden, so dass die Adresse der Online-Server-Repositories in das Büro aufgelöst wird, wenn sie mit dem Netzwerk dort verbunden ist.
Macht jemand da draußen schon was ähnliches? Oder gibt es einen einfacheren Weg, um das Ziel zu erreichen?
Ich würde einen solchen Mechanismus leicht mit dem SSH-Protokoll sehen (was ein Framework wie gitolite ist sowohl im LAN-Repo als auch im WAN-http-Repo vorhanden, weil Sie dann einfach das ssh erzwungener Befehl Mechanismus zu:
Dies zu tun mit hooks ist komplizierter und müsste vorsichtig sein Setup für jede Art von serverseitigen Hooks, um diesen Synchronisationsmechanismus jederzeit aufrecht zu erhalten.
Gitolit hat eine Funktion, die Repositories spiegelt. Du könntest den einen im Büro als den Master und den Online als den Slave einrichten und erlauben, zu einem der beiden zu drücken.
Tags und Links git repository-design synchronisation