Versionierungssystemen
Versionierungssysteme, auch Versionskontrollsysteme (VCS) genannt, sind Softwarewerkzeuge zur Verwaltung von Änderungen an digitalen Artefakten. Sie erfassen den Verlauf von Dateien, ermöglichen das Wiederherstellen früherer Zustände und unterstützen die Zusammenarbeit mehrerer Personen, ohne Konflikte zu verursachen.
Es gibt zentrale Systeme (CVCS) wie Subversion oder CVS und verteilte Systeme (DVCS) wie Git, Mercurial oder
Kernkonzepte sind Commits, Branches, Merges und Tags. Ein Commit fasst zusammenhängende Änderungen zu einer Einheit; Branches
Typische Arbeitsabläufe umfassen das Arbeiten in Feature-Branches, Peer-Reviews oder Merge-Requests sowie unterschiedliche Modelle wie trunk-based development.
Vorteile von Versionierungssystemen sind Nachvollziehbarkeit, Reproduzierbarkeit und ein klarer Audit-Trail, dazu erleichtern sie die Zusammenarbeit und
Einsatzgebiete umfassen Softwareentwicklung, Dokumentation, Designdateien und Datenbestände. Bekannte Systeme sind Git, Subversion, Mercurial und Perforce; Git