Als „Software-Repository“ versteht man ein „Projektarchiv“, in dem Quellcode für eine gewünschte Software entwickelt und versioniert wird.
Für die Versionierung gibt es mehrere Software-Implementationen wie z.B.
- Apache Subversion (SVN)
- Mercurial
- GIT
In allen weiterführenden Texten und Beiträgen wird von „GIT“ ausgegangen, da ich primär nur mit dieser Versionsverwaltung arbeite.
Vorteile
- Mehrere Entwickler können gleichzeitig an einer Software bzw. an einem Bestandteil der Software arbeiten.
- Es ist leicht möglich auf einen älteren Stand der Software zurück zu springen ohne den aktuellen Stand der entwickelten Software zu verlieren.
- Es ist leicht möglich gewisse „Releases“ zu markieren um z.B. ein Problem von einer speziellen ausgelieferten Version besser debuggen zu können.
- Über diverse online Versionsverwaltungs-Platformen wie z.b. Github oder Bitbucket lassen sich Repositories einfach auch über den Browser oder eine App managen. Ebenso können über diese Platformen Änderungen im Repository (Commits) diskutiert oder Probleme (Issues) eingemeldet werden.
Nachteile
- Für Entwickler, die den „GIT-Workflow“ nicht kennen, ist es definitiv ein Mehraufwand bzw. eine Anpassung des Entwicklungsprozesses.