Drücken Sie „Enter“, um den Inhalte zu überspringen

Warum sollten wir Softwareentwickler immer eine Quellcodeverwaltung verwenden?

Eine Quellcodeverwaltung sollte auch bei kleinen Projekte und unter Umständen auch nur lokal auf der eigenen Maschine verwendet werden. Denn eine Quellcodeverwaltung bietet eine Reihe von Vorteilen, die das Arbeiten erheblich erleichtern können:

  • Eine Quellcodeverwaltung ist stets eine Datensicherung, gewissermaßen ein Archiv, auf das bei Bedarf immer wieder zurückgegriffen werden kann.
  • Eine Quellcodeverwaltung bietet eine Versionierung aller Inhalte und eine Änderungshistorie. So lassen sich stets alle Veränderungen an den Dateien nachvollziehen.
  • Eine Quellcodeverwaltung erlaubt es, Änderungen an Dateien rückgängig zu machen. Versehentliche Änderungen an Dateien lassen sich so leicht wieder auf alte Versionsstände zurücksetzen.
  • Eine Quellcodeverwaltung ist in der Lage, Dateien miteinander zu vergleichen und so Änderungen im Projektverlauf zu visualisieren.
  • Eine Quellcodeverwaltung (mit zentral gespeichertem Repository) ermöglicht die Zusammenarbeit mehrere Projektmitarbeiter an den selben Dateien; wenn auch nicht unbedingt gleichzeitig an ein und derselben Datei.
  • Eine Quellcodeverwaltung stellt mit der Funktion zu Verzweigen eine Möglichkeit dar, auf einem bestehenden Stand zu experimentieren und Änderungen von ggf. mit anderen Mitarbeitern geteilten Zweigen zu isolieren. Auch kann so bereits an neuen Funktionen gearbeitet, während an der ausgelieferten Version Fehlerkorrekturen vorgenommen werden.

Quellcodeverwaltungen können dabei für jede Art von Textdateien verwendet werden. Das müssen nicht unbedingt Quellcodedateien sein. Auch jedes weitere im Projekt erstellte Textdokument (Korrekspondenz, Projektdokumentationen, Tätigkeitsnachweise, Skripte, usw.) profitiert von den oben genannten Funktionen einer Quellcodeverwaltung. In einer Quellcodeverwaltung sollten alle Dateien in einem Projekt zusammengefasst werden, die im Laufe des Projekt erstellt wurden.

Arten von Quellcodeverwaltungen

Es gibt zwei große Arten von Quellcodeverwaltungen. Sie unterscheiden sich im Kern darin, auf welchem System der letzte / neueste Stand gepeichert ist.

Zentral gespeicherte Repositories

Bei zentral gespeicherten Repositories liegt der neueste Stand der Dateien immer auf einem Server und muss von den Projektmitbeitern zunächst auf das eigene System heruntergeladen (ausgecheckt) werden. Lokale Änderungen müssen (zeitnah) wieder auf den Server zurückgespielt werden, damit diese den anderen Projektmitarbeitern zur Verfügung stehen und diese nicht mit alten Versionsständen arbeiten. Bevor eine Datei verändert werden darf, muss gegen das zentral gespeicherte Repository geprüft werden, ob man selbst den neuesten Stand der Datei auf seiner Maschine gespeichert hat. Auf dem eigenen System befindet sich immer nur eine Version einer Datei. Versionen aus der Historie müssen explizit vom Server angefordert werden. Eine Datenverbindung zum Server ist stets erforderlich.

Bekannte Vertreter zentral gespeicherter Repositories sind CVS, Subversion oder der Team Foundation Server (TFS; früher Visual SourceSafe) von Microsoft.

Dezentral gespeicherte / verteilte Repositories

Bei Systemen mit verteilten Repositories befindet sich der vollständige Versionsstand auf dem eigenen System, inkl. der vollständigen Versionshistorie. Daher lassen sind fast alle Aktionen auf einem Repository lokal ausführen. Zwischen den Projektmitarbeitern müssen die einzelnen Versionsstände stets synchronisiert und zusammengeführt werden. Eine permanente Datenverbindung zu einem Server ist hier nicht erforderlich. Für die Zusammenarbeit mit mehreren Projektmitarbeitern werden Zweige aus dem Repository auf einem zentral verfügbaren System (bsp. github.com) abgelegt. Bei verteilten Repositories wird zwischen lokalen und entfernten (remote) Zweigen unterschieden. Verteilte System bieten ein höheres Maß an Datensicherheit, weil die vollständigen Informationen zu einem Repository auf vielen System verteilt abgelegt sind. Gehen die Informationen auf einem System verloren, existieren noch hinreichend weitere Kopien.

Ein bekannter Vertreter verteilter Repositories ist Git.

Share This

Share This

Share this post with your friends!