Benutzer-Werkzeuge

Webseiten-Werkzeuge


softwaredevelopment:versioncontrol:start

Dies ist eine alte Version des Dokuments!


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.

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki