Versionskontrollsoftware für professionelle Teams

Bitbucket unterstützt Versionskontrolllösungen für Git und Mercurial.

Wachsende Pflanzen

Was ist ein Versionskontrollsystem?

Ein Versionskontrollsystem oder VCS (Version Control System), auch Revisionskontroll- oder Quellcodeverwaltungssystem genannt, ist ein Softwareprogramm, das Änderungen an einem Dateisystem verfolgt und verwaltet. Ein VCS bietet außerdem Funktionen zur Zusammenarbeit, mit denen VCS-Benutzer diese Änderungen an Dateisystemen untereinander teilen und integrieren können. Auf Dateisystemebene verfolgt ein VCS das Hinzufügen, Löschen und Bearbeiten von Dateien und Verzeichnissen. Ein Repository ist ein VCS-spezifischer Ausdruck für das Verfolgen eines Dateisystems mit einem VCS. Bei einzelnen Quellcodedateien verfolgt das VCS das Hinzufügen, Löschen und Bearbeiten von Textzeilen innerhalb der Datei. Beliebte VCS-Lösungen in der Softwarebranche sind etwa Git, Mercurial, SVN und Perforce.

Grafik zu Versionskontrolle

Wozu brauche ich ein Versionskontrollsystem?

Ein VCS ist ein sehr wertvolles Tool, das viele Vorteile für den Workflow in Softwareteams bietet. Wenn mehr als ein Entwickler die Quellcodedateien eines Softwareprojekts betreut, ist ein VCS absolut ratsam. Aber auch Projekte mit nur einem Maintainer profitieren sehr von einem VCS. Es sprechen wohl keine stichhaltigen Gründe dagegen, ein VCS in modernen Softwareentwicklungsprojekten zu verwenden.


Symbol

Lösung des Konflikts

Im Lebenszyklus eines kooperativen Softwareprojekts ist es höchst wahrscheinlich, dass verschiedene Teammitglieder dieselbe Quellcodedatei zur selben Zeit bearbeiten müssen. Bei Konflikten zwischen Entwicklern ist ein VCS hilfreich und ermöglicht das Verfolgen von Änderungen. Aus diesen Vorgängen zur Konfliktlösung wird ein Audit-Trail erstellt, der Einblicke in den Projektverlauf gewährt.

Symbol für Statussynchronisierung

Rollback und Rückgängigmachen von Quellcode-Änderungen

Sobald ein VCS mit dem Verfolgen eines Quellcodedateisystems begonnen hat, wird ein Verlauf angelegt, der die Änderungen und den Zustand des Quellcodes während des gesamten Projektverlaufs aufzeichnet. Dadurch ist ein "Rückgängigmachen" oder Rollback des Quellcodeprojekts zum letzten bekannten Status möglich. Falls du bei einer Anwendung in der Produktion ein Bug entdeckst, kannst du den Code also schnell auf die letzte stabile Version zurücksetzen.

Datenbank-Symbol

Offsite-Backup des Quellcodes

Wenn du ein VCS im Team gemeinsam nutzt, musst du zum Austausch der Änderungen zwischen den einzelnen Entwicklern eine Remote-Instanz des VCS erstellen. Diese Instanz kannst du bei einem bewährten Drittanbieter wie etwa Bitbucket hosten. Erst dann ist dein Offsite-Backup sicher. Falls du Pech hast und dein Laptop gestohlen wird, ist in der Remote-Instanz des VCS weiterhin eine Kopie des Quellcodes verfügbar.

Diagramm zu verteiltem Versionskontrollsystem
VERTEILT
Diagramm zu zentralisiertem Versionskontrollsystem
ZENTRALISIERT

Bei VCS-Tools unterscheidet man im Wesentlichen zwei Remote-Architekturen:zentralisierte und verteilte Systeme.

Wenn wir die Vor- und Nachteile der beiden Architekturen abwägen, ist das Offsite-Backup-Feature ein wichtiger Aspekt. Ein zentralisiertes VCS hat einen Single Point of Failure, nämlich die zentrale Remote-Instanz des VCS. Ein Ausfall dieser Instanz kann zu Produktivitätseinbußen und Datenverlusten führen. Außerdem muss sie durch eine Kopie des Quellcodes ersetzt werden. Wenn die Instanz zeitweise nicht verfügbar ist, können Entwickler keinen Code mehr pushen oder mergen und auch kein Rollback durchführen. Mit einer verteilten Architektur hingegen kannst du diese Fallstricke vermeiden, indem du auf jeder VCS-Instanz eine vollständige Kopie des Quellcodes hinterlegst. Wenn eines der zuvor genannten Fehlerszenarien bei einem verteilten System auftritt, kann eine andere VCS-Instanz in der Hauptentwicklung einspringen, um schwerwiegende Produktivitätsverluste zu minimieren.


Die Vorteile von Versionskontrollsystemen

Wenn du ein VCS in ein Softwareentwicklungsprojekt integrierst, eröffnen sich für dein Unternehmen und deine Verwaltung zahlreiche Vorteile. Standardmäßig bietet ein VCS die bereits erwähnten technischen Vorteile der Konfliktlösung für Teams und der unterstützten Zusammenarbeit. Ein gehosteter VCS-Service umfasst ein Standard-VCS und erweitert es um zusätzliche Features. Dieses "erweiterte VCS" ist unglaublich leistungsfähig und ermöglicht dir einen transparenten Einblick in den Softwareentwicklungsprozess, der für gewöhnlich ein undurchsichtiges, kreatives Unterfangen ist. Im Folgenden stellen wir dir die grundlegenden Vorteile eines gehosteten VCS vor.


Symbol

Erweiterte Integrationen von Drittanbietern

Ein VCS kann durch Integration einer sicheren, bei einem Drittanbieter gehosteten Lösung wie Bitbucket zusätzlich erweitert werden. Ein gehostetes VCS bietet dir seine eigenen Erweiterungen für weitere Anwendungen und Services, die du über Integrationen wie den Atlassian Marketplace erhältst. Zum Beispiel kannst du bei einem mit Bitbucket gehosteten VCS die VCS-Daten mit der Jira Software zur Aufgabenverfolgung sowie der Wissens- und Dokumentationsplattform Confluence austauschen. Damit ist die Fülle an Integrationen für gehostete VCS aber noch lange nicht erschöpft.

Nachrichtensymbol

Teamkommunikation

Ein gehostetes VCS bietet dir erweiterte Messaging- und forenähnliche Kommunikationstools, die eine wertvolle Unterstützung für die Teamarbeit sein können. Mit diesen Messaging-Tools kannst du den Quellcode Zeile für Zeile in einer übersichtlichen Gliederung besprechen. Aber auch für teamübergreifende Diskussionen zu allgemeinen Geschäftszielen, die die Quellcodeentwicklung betreffen, sind die Messaging-Tools außerordentlich wertvoll.

Symbol für Balkendiagramm

Einblicke, Messungen und Überprüfbarkeit

Ein entwicklerbasiertes Unternehmen kann ein gehostetes VCS einsetzen, um Key Performance Indicators (KPIs) zu verfolgen und zu messen. Ein gehostetes VCS ermöglicht Einblicke in die Geschwindigkeit und Effizienz eines Softwareentwicklungsprojekts. Mit den Tools eines gehosteten VCS kannst du unter anderem messen, wie viele neue Features bereitgestellt wurden, wie schnell die Codeerstellung vorangeht, wie lange die Entwicklung schon dauert und wie viele Bugs erstellt und behoben wurden.

Zahnradsymbol

Automatisierung der CI/CD-Pipeline

Externe Integrationen für gehostete VCS können dich beim Aufbau von Continuous Delivery-Workflows unterstützen. Bearbeiteten Quellcode können Entwickler per Transaktion in die größere Codebasis integrieren. Währenddessen kann das gehostete VCS mit vielen Erweiterungen konfiguriert werden, die den Code-Review und den Auslieferungsprozess verbessern. Automatisierte Builds, Tests, Deployments und mehr kannst du in einer einfachen, als Code konfigurierbaren YAML-Datei orchestrieren.

Bitbucket-Logo

Erfahre mehr über Versionskontrolle

Alle genannten Features zur Versionskontrolle sind bequem in Bitbucket verfügbar.

Versionskontrollsoftware im Vergleich

Im Folgenden haben wir einen Überblick zu beliebten VCS-Optionen zusammengestellt und diese Systeme miteinander verglichen. Die wichtigste Erkenntnis, die wir daraus gewonnen haben: VCS-Optionen, die auf einem Client-Server-Modell basieren, werden von modernen VCS-Hostinglösungen wie Bitbucket nicht reibungslos unterstützt. Die VCS-Branche hat sich stärker in Richtung verteilter Modelle entwickelt.


Software

Netzwerkarchitektur Konfliktlösung Entwicklungsstatus Bitbucket-Unterstützung
Git logo Git Verteilt Mergen Aktiv Ja
Mercurial Logo Mercurial Verteilt Mergen Aktiv Ja
SVN logo SVN Client-Server Mergen oder sperren Aktiv Nein
CVS logo CVS Client-Server Mergen Nur Wartung Nein

Git und Versionskontrolle

Statusprüfung

Vorteile der Git-Versionskontrolle

  • Fehlertolerante, verteilte Netzwerkarchitektur
  • Für schnelle Commits und Check-outs optimiert
  • Nicht-destruktive Updates durch unveränderliche Protokolle
Statusprüfung

Nachteile der Git-Versionskontrolle

  • Geringe Unterstützung für große Binärdateien
  • Bei sehr großen Repositorys mit umfangreichem Verlauf können sich Interaktionen verlangsamen
  • Lernbereitschaft erforderlich, Befehle sind nicht intuitiv

Ältere Versionskontrollsysteme

Statusprüfung

Vorteile älterer Versionskontrollsysteme

  • Mehr Optionen für GUI-Anwendungen
  • Umfangreichere Dokumentation und mehr Leitfäden

Statusprüfung

Nachteile älterer Versionskontrollsysteme

  • Single Point of Failure und Datenverluste
  • Commits sind von Netzwerkverbindung abhängig
  • Eingeschränkte Unterstützung und Häufigkeit von Updates

Du weißt bereits, welche Versionskontrollsoftware du brauchst? Dann lies jetzt unseren Leitfaden und wähle für dein Team das passende Code-Repository.

Versionskontrollsoftware Bitbucket

Gründe für die Versionskontrolle mit Bitbucket Cloud für Git und Mercurial


Entwickelt für professionelle Teams

Bitbucket unterstützt eine verteilte Versionskontrolle und erleichtert dir das gemeinsame Programmieren im Team. Bitbucket unterstützt nicht nur die Versionskontrolle mit Git und Mercurial, sondern bietet Teams auch einen zentralen Ort für ihre Projekte, Codes, Tests und Deployments.

Konfetti-Megafon

Kostenlose unbegrenzte private Repositorys

Kostenlos für kleine Teams mit weniger als fünf Mitgliedern und skalierbar mit Standard- oder Premium-Tarifen für 2 USD pro Benutzer und Monat bzw. 5 USD pro Benutzer und Monat.

Integration von Jira und Trello

Erstklassige Jira- und Trello- Integration

Organisiere deine Projekte mithilfe von Bitbucket-Branches, die du direkt aus Jira-Vorgängen oder Trello-Karten erstellen kannst.

Continuous Delivery

Integriertes Continuous
Delivery

Erstelle, teste und deploye mit integrierter CI/CD. Profitiere von Konfiguration als Code und schnellen Feedbackschleifen.

Über 1 Million Teams sind von Bitbucket begeistert

Foto mit Kunden

"Wir sind von SVN zu Git und Bitbucket umgestiegen, um den Workflow unserer verteilten Teams zu vereinfachen, die Entwicklung zu beschleunigen und die Codeverwaltung für mehr als 60 Softwareprodukte zu stemmen."

NATE SPARKS, PRODUCT MANAGER
Bericht lesen
Unternehmen, die Bitbucket nutzen

Code, Management, Zusammenarbeit

Bitbucket ist die Git-Lösung für professionelle Teams