Einführung
Bei der Entwicklung großer Softwareprojekte arbeiten meist viele Menschen zusammen. Damit das möglichst reibungslos funktioniert, wird in der Regel eine so genannte Versionierungssoftware verwendet. Wird eine neue Funktionalität in eine Software eingebaut, so geschieht dies unter einer neuen Versionsnummer, auf die zunächst nur die Entwickler*innen der Software Zugriff haben. Anschließend wird die Software dann üblicherweise erst noch getestet und erst danach dann irgendwann unter der neuen Versionsnummer veröffentlicht.
Während die neue Version der Software noch in Entwicklung ist, besteht allerdings auch die Notwendigkeit, auftretende Fehler und insbesondere Sicherheitslücken gleichzeitig auch noch in alten und bereits veröffentlichen Versionen zu beheben. Dazu müssen die Entwickler*innen jeweils unkompliziert zwischen alten und neuen Versionen der Software hin- und her wechseln können.
Darüber hinaus erleichtern Versionierungsprogramme auch die Zusammenarbeit von räumlich getrennten Entwickler*innen, da zu Speicherung der verschiedenen Versionen der Software üblicherweise Server eingesetzt werden. Insbesondere bei der Entwicklung von freien Softwareprojekten ist dies von zentraler Bedeutung, da hier oft Entwickler*innen zusammenarbeiten, die teilweise sogar auf verschiedenen Kontinenten leben.
Insbesondere kommen Versionierungstools auch zum Einsatz beim so genannten Refactoring von Software, also der Vereinfachung und Restrukturierung des Quelltextes ohne eine Erweiterung der Funktionalität der Software. Regelmäßiges Refactoring ist bei großen Softwareprojekten wichtig, damit die Software gut wartbar bleibt und nachhaltig weiterwachsen kann. Da sich dabei allerdings auch leicht Fehler und Seiteneffekte einschleichen können, ist es unerlässlich, dazu automatisierte Tests zu haben, so dass man schnell und automatisiert die neue Refactoring-Version der Software mit dem Verhalten von alten Versionen vergleichen kann.
Über die Entwicklung von Software hinaus werden Versionierungsprogramme zum Beispiel auch zur Erstellung und zur Pflege von Webseiten eingesetzt. An der Entwicklung des vorliegenden digitalen Schulbuchs inf-schule.de sind zum Beispiel 70 Personen beteiligt (Stand 2020), die mit Hilfe einer Versionierungssoftware, in diesem Fall svn, zusammenarbeiten. Als so genanntes rolling release unterliegt inf-schule.de damit einer ständigen Weiterentwicklung. Um gleichzeitig aber auch auf stabile und unveränderliche Versionen von inf-schule.de zugreifen zu können, werden unter http://schuljahr.inf-schule.de/ zusätzlich für eine gewisse Zeit auch noch alte Versionen bereitgestellt. Die Versionsnummer der Webseiten ist dabei naheliegenderweise einfach das jeweilige Schuljahr.