Versionierung ist der Prozess, bei dem Änderungen an Dateien oder Programmen systematisch dokumentiert und nachvollziehbar gemacht werden. In der Softwareentwicklung dient sie dazu, verschiedene Entwicklungsstände zu verwalten, Fehler zurückzuverfolgen oder an mehreren Funktionen parallel zu arbeiten.
Warum ist Versionierung wichtig?
- Nachvollziehbarkeit: Wer hat was wann geändert?
- Fehlersuche: Frühere funktionierende Zustände lassen sich wiederherstellen
- Teamarbeit: Mehrere Entwickler können gleichzeitig an einem Projekt arbeiten
Versionskontrollsysteme (VCS)
- Git: Weit verbreitetes dezentrales System zur Versionierung von Quellcode
- SVN (Subversion): Zentrales Versionskontrollsystem
- Mercurial: Dezentrale Alternative zu Git
Typische Begriffe
- Commit: Eine gespeicherte Änderung
- Branch: Ein paralleler Entwicklungszweig
- Merge: Das Zusammenführen von Änderungen aus verschiedenen Zweigen
- Tag: Ein markierter Stand, z. B. für Releases
Versionierung außerhalb der Softwareentwicklung
- Dokumente: Änderungen in Textdateien oder Tabellen nachvollziehbar machen
- Datenbanken: Historie von Datensätzen verwalten
- Designs oder Medien: Entwicklung von Grafiken oder Layouts mit Rückverfolgung