Zum Inhalt springen

Versionskontrollsoftware

Definition

Versionskontrollsoftware (VCS) ist ein nützliches Werkzeug, das den Arbeitsablauf eines kollaborativen Softwareteams unterstützt. Sie ist für Teams mit mehreren Entwicklern unerlässlich. Jedes Unternehmen setzt die VCS ein, die am besten zu seiner Strategie passt.

Nachfolgend finden Sie eine Liste weit verbreiteter VCS-Tools.

  1. Git

    Git ist eine der beliebtesten Versionskontrollsoftware auf dem heutigen Markt. Git ist ein schnelles und effizientes verteiltes Versionskontrollsystem, das leicht zu erlernen ist. Es kann Projekte jeder Größe bewältigen, von klein bis riesig. Die besonderen Merkmale von Git sind folgende: kostengünstige lokale Branches, praktische Staging-Bereiche und mehrere Arbeitsabläufe. Es ist kostenlose Open-Source-Software.

    Git

    Nachteile von Git

    Trotz seiner Vorteile hat Git auch einige Nachteile. Erstens ist die Unterstützung bei großen Binärdateien schwach. Die Interaktionsgeschwindigkeit kann aufgrund großer Repositories mit einer langen Historie leiden. Außerdem sind Befehle teilweise unvorhersehbar.

  2. CVS

    CVS (Concurrent Versions System) war historisch gesehen beliebt, ist aber heute weitgehend veraltet und wurde von modernen verteilten Systemen abgelöst. Es half Entwicklern, die Historie von Dateien und Dokumenten zu erfassen. Standardmäßig verarbeitet es Projekte von kleiner bis mittlerer Größe, und um größere zu unterstützen, muss es konfiguriert und erweitert werden. Sie können CVS auf fast jeder Hardwareplattform und jedem Betriebssystem verwenden. Es ist kostenlose Open-Source-Software.

    CVS

    Nachteile von CVS

    Auch CVS hat einige Nachteile. Insbesondere wird die Integrität des Quellcode-Repositories nicht überprüft. Es gibt keine Unterstützung für atomare Commits und Checkouts sowie für Merge-Tracking und signierte Revisionen.

  3. SVN

    SVN (Apache Subversion) ist ein zentralisiertes Versionskontrollsystem, das im letzten Jahrzehnt weit verbreitet war. SVN verfügt über folgende Funktionen: versionierte Verzeichnisse, Unterstützung für atomare Commits, Merge-Tracking, das Vorhandensein von Kopieren, Löschen, Verschieben und Umbenennen von Versionen, Client-Server-Repository-Modell, Metadaten in Freitextform, vollständige MIME-Unterstützung, Dateisperren usw. Es ist kostenlose Open-Source-Software.

    SVN

    Nachteile von SVN

    Die Zeitstempel von Dateiänderungen werden nicht gespeichert, es gibt einige Probleme bei der Dateinamen-Normalisierung und mangelnde Unterstützung für signierte Revisionen.

  4. Mercurial

    Mercurial ist eine verteilte Versionskontrollsoftware, die in Python geschrieben wurde. Diese schnell arbeitende Software unterstützt Projekte jeder Größe und Art. Ihre Oberfläche ist ziemlich vorhersehbar, was das Erlernen erleichtert. Sie unterstützt die folgenden Betriebssysteme: Unix-ähnliche Systeme, Windows und macOS. Sie unterstützt Binärdateien stark und verfügt über hervorragende Merge- und Branching-Funktionen. Es ist kostenlose Open-Source-Software.

    Mercurial

    Nachteile von Mercurial

    Für alle Add-ons wird Python benötigt. Es erlaubt keine partiellen Checkouts und kommt nicht gut mit zusätzlichen Erweiterungen zurecht.

  5. Monotone

    Monotone ist ein verteiltes Versionskontrollsystem, das in C++ geschrieben wurde. Es ist ein transaktionales VCS für einzelne Dateien, das einen vollständig getrennten Betrieb ermöglicht. Das Merging ist historiensensitiv, Branches sind recht leichtgewichtig.

    Monotone unterstützt eine produktive Peer-to-Peer-Synchronisation. Es versteht historiensensitives Merging, erfordert wenig Wartung, schätzt die Integrität der Code-Überprüfung und unterstützt 3-Wege-Merges. Es läuft auf mehreren Plattformen: Linux, Solaris, Mac OS X, Windows und anderen Unixen. Es ist kostenlose Open-Source-Software.

    Monotone

    Nachteile von Monotone

    Benutzer können von hinter einem Proxy aus keine Checkouts oder Commits durchführen, da das HTTP-Protokoll fehlt. Bei bestimmten Operationen werden Leistungsprobleme beobachtet. Das offensichtlichste davon ist der initiale Pull.

    Hinweis: Monotone ist weitgehend aufgegeben und hat nur noch begrenzte moderne Relevanz.

Praxis

Welche der folgenden ist keine Funktion von Git als Versionskontrollsoftware?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.