Benutzer-Werkzeuge

Webseiten-Werkzeuge


softwaredevelopment:versioncontrol:start

Versionsverwaltungssysteme (version control systems)

Arbeiten mehrere Entwickler/-innen am selben Softwarerprojekt, so hat jede/r eine Kopie des Projekts auf seinem/ihrem Rechner. Zusätzlich gibt es eine Kopie auf einem Server (Repository), in der nicht nur der aktuelle Stand der Software gespeichert ist, sondern auch alle früheren Versionen zusammen mit Informationen darüber, wer wann welche Änderung am Code vorgenommen hat.

Ändert ein/e Entwickler/-in nun etwas am Code, so kann sie/er diese Änderungen zum Server übertragen ("commit"). Der Server speichert sie als neue Version und stellt sie allen anderen Entwickler/-innen zur Verfügung, die sie bei Bedarf herunterladen können ("update"). Hat eine/r der Entwickler/-innen in der Zwischenzeit selbst Änderungen am Code vorgenommen, die der committeten Version widersprechen, so kommt es zum merge conflict. Die Entwicklerin/der Entwickler muss aus den zwei widersprüchlichen Versionen eine neue, gültige Version bauen ("mergen") und diese wiederum auf den Server committen.

Über die beschriebene Funktionalität hinaus ermöglichen moderne Versionsverwaltungssysteme es, die Entwicklung auf verschiedene Entwicklungszweige ("branches") aufzuteilen, in die unabhängig voneinander committed werden kann. Später können die Versionen der Zweige bei bedarf wieder zusammengeführt werden.

Versionsverwaltung in der Online-IDE



Das Versionsverwaltungssystem git

Derzeit ist das freie Versionsverwaltungssystem git der de-facto Standard. Es wurde von Linus Thorvalds ursprünglich für die Arbeit am Linux Kernel entwickelt und unterscheidet sich von den zuvor verbreiteten Versionsverwaltungssystemen vor allem dadurch, dass jeder Client selbst ein lokales Repository besitzt.

softwaredevelopment/versioncontrol/start.txt · Zuletzt geändert: 2025/03/16 19:19 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki