Sven Rautenberg: distributed version control: Updates abrufen, wenn einer offline

Beitrag lesen

Moin!

Was wird Anna jetzt als Inhalt der Datei C.txt zu sehen bekommen?

Ich denke mir: Die Version von Bert ("Hallo Welt und guten Abend/hello world and good evening!") kann es wohl nicht sein. Bis jetzt hat ja nur Bert diese Version der Datei auf seinem Computer. Und jetzt ist Bert ja offline - also kann Anna ja nicht auf diese Version auf Berts Computer ("Hallo Welt und guten Abend/hello world and good evening!") zugreifen.
Dann müsste doch C.txt den Inhalt "Hello world!" (ursprüngliche Version) haben - oder liege ich da falsch?

Du hast nicht gesagt, dass Bert seine Änderungen irgendwie dem DVCS bekannt macht. Also wird KEIN System, nicht mal ein zentrales, diese Änderungen kennen und verteilen können.

Die Arbeitsweise ist eigentlich relativ simpel: Anna und Bert haben jeweils lokal ihr Repositorys. Sämtliche Updates und Commits geschehen immer gegenüber dieser lokalen Instanz. Der Austausch zwischen den einzelnen Repositorys ist ein separater Schritt, wobei es im Prinzip zwei Methoden gibt: Ziehen und Schieben. Anna könnte sich die Änderungen von Bert ziehen, oder Bert könnte die Änderungen zu Anna hinschieben, wenn er soweit ist.

Egal wie die Änderungen von Bert zu Anna gelangt sind: Anna sieht dann Berts Änderungen in einem SEPARATEN Entwicklungszweig, d.h. ihre eigene Version ändert sich erstmal gar nicht. Erst wenn sie die Änderungen von Bert in ihren eigenen Zweig hineinzieht, sieht sie davon etwas. Oder wenn sie auf Berts Zweig umschaltet.

Dieser grundsätzliche Unterschied zu zentralen Versionsverwaltungen ist der enorme Vorteil: Man kann lokal, ohne dass die Kollegen davon was mitbekommen müssen, in Zweigen einfach Features ausprobieren. Ebenso kann man jederzeit - also sehr häufig - Commits machen und die einzelnen Entwicklungsschritte so nachvollziehbar und umkehrbar halten, ohne dass man durch unfertige Software die Kollegen an der Arbeit hindert.

- Sven Rautenberg