Git-Cluster/Git-Mirror, 2 git-Server als Master-Master

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
McAldo
Moderator
Beiträge: 2064
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Git-Cluster/Git-Mirror, 2 git-Server als Master-Master

Beitrag von McAldo » 26.02.2019 11:41:40

Ich suche nun schon eine Weile, bekomme aber kein schlüssiges Konzept/Verfahren zustande.

Ich möchte gerne folgendes Aufbauen:
2 Standorte mit je einem Git-Server. Jeder Standort soll auf seinen lokalen Git-Server zugreifen für push, pull u.s.w. Die 2 Git-Server sollen die Repos untereinander synchronisieren, so dass an beiden Standorten immer der gleiche Stand verfügbar ist. Natürlich soll das ganze ohne Konflikte im Repo passieren. :-)

Gefunden habe ich zu dem Thema:
- http://gitolite.com/gitolite/mirroring.html
- https://github.com/dustin/gitmirror
- https://blog.tinned-software.net/git-re ... ter-setup/

Irgendwie zielt das aber alles darauf ab, dass ein Server der Master ist, der andere ein Slave. Es wird sozusagen immer nur auf einen der Server ein push gemacht. pull und clone dann entweder auch auf diesen einen Master oder vom Slave. Der Slave kann aber auch eine Art Proxy sein und bei einem push die Daten zum Master schieben (also wenn ich die Anleitung dazu richtig verstanden habe :-) ).

Ich hätte jedoch gerne, dass die Git-Master unabhängig funktionieren und sich synchron halten.

Folgendes ist mir bewusst: :-)
1) auf beide Server wird zeitgleich ein push in das selbe Projekt gemacht
2) Verbindung zwischen Servern ist getrennt und es wird in das selbe Projekt gepusht (zeitversetzt)

Beides wird dann wohl zu Fehlern führen. In erster Linie geht es mir darum, ist der Aufbau wie oben beschrieben mit Git überhaupt möglich? Wenn ja, wie? Die möglichen Fehlerquellen 1) und 2) würde ich dann später angehen.
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Git-Cluster/Git-Mirror, 2 git-Server als Master-Master

Beitrag von Meillo » 26.02.2019 12:00:36

McAldo hat geschrieben: ↑ zum Beitrag ↑
26.02.2019 11:41:40
Die möglichen Fehlerquellen 1) und 2) würde ich dann später angehen.
Den Konfliktfall kann man halt eigentlich nur intellektuell loesen, also von Menschen. Darum wird der Zwei-Wege-Sync nicht vorgesehen sein, weil er nur zufaellig funktionieren kann, aber keine zuverlaessige Synchronisation bietet.

Aber ich will dennoch nicht denjenigen im Weg stehen, die das machen was ich fuer nicht machbar halte. ;-)
Use ed once in a while!

Benutzeravatar
McAldo
Moderator
Beiträge: 2064
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: Git-Cluster/Git-Mirror, 2 git-Server als Master-Master

Beitrag von McAldo » 26.02.2019 14:41:04

Hm..., ok. Ich habe es befürchtet.

Hatte gehofft es gibt sowas wie eine Transaktions-ID oder sonstiges anhand dessen die Master sich synchronisieren können. Wird aber wohl nun erstmal darauf hinauslaufen, das einer der Server der Slave wird. Vielleicht kommen im Laufe der Zeit noch andere Ideen und/oder Ansätze dazu.
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
heisenberg
Beiträge: 3556
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Git-Cluster/Git-Mirror, 2 git-Server als Master-Master

Beitrag von heisenberg » 26.02.2019 14:46:35

Grundsätzlich sollte die Konfliktauflösung wohl beim Benutzer stattfinden, der hochlädt. Wenn da zwischen Servern irgend etwas kollidiert, dann muss das ja wahrscheinlich eine andere Personen fixen, als die, die die Änderung eingepflegt hat. Das finde ich schon mal wenig sinnvoll.

Der Benutzer kann ja mit git immer lokal weiter arbeiten, auch wenn der Server weg ist. Wenn der Server dann wieder da ist, und es gibt neue Versionen und inkompatible Konflikte, dann sind die sofort beim Benutzer, der diese dann auch lösen muss. Insofern scheint mir das die beste Vorgehensweise.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Git-Cluster/Git-Mirror, 2 git-Server als Master-Master

Beitrag von bluestar » 26.02.2019 15:34:55


Antworten