Zum Inhalt springen

Versionskontrollsystem

Version Control Systems

Versionskontrolle

Definition

Versionskontrolle ist ein System, das es dem Softwareteam ermöglicht, Änderungen am Quellcode im Laufe der Zeit zu verwalten. Dieses Softwaretool erleichtert Entwicklern die Zusammenarbeit an verschiedenen Projekten, indem sie ihre Aufgaben durch Branches trennen. Es bietet auch die Möglichkeit, bei Bedarf zu früheren Versionen zurückzukehren, um diese zu vergleichen und Fehler zu beheben.

Bedeutung

Die oben genannten Punkte sind insbesondere für die entwicklerorientierte Arbeit wichtig, da sie es mehreren Entwicklern oder Teams ermöglicht, unabhängig voneinander zu arbeiten, ohne die Arbeit anderer zu beeinträchtigen. Es hilft, Funktionen auf nachvollziehbare Weise zu erstellen, zu testen und zu integrieren.

Versionskontrollsysteme

Definition

Versionskontrollsysteme (VCS), auch bekannt als SCM (Source Code Management) oder RCS (Revision Control System), sind Softwaretools zur Verfolgung von Änderungen am Quellcode im Laufe der Zeit.

Arten von Versionskontrollsystemen

Im Allgemeinen wählen Softwareteams eine von drei Arten von Versionskontrollsystemen. Dies sind:

  1. Lokale Versionskontrollsysteme

    Lokale VCSs wurden entwickelt, um Probleme wie das Verwechseln von Verzeichnissen oder das versehentliche Schreiben oder Kopieren in die falsche Datei zu verhindern. Es handelt sich um eine einfache Datenbank, die alle Änderungen an Dateien unter der Versionskontrolle hält. Eines der beliebtesten VCS-Tools war ein System namens Revision Control System (RCS), das heute noch verbreitet ist, obwohl es sich um ein früheres Versionskontrollsystem handelt. Es ermöglicht Benutzern, Überarbeitungen an einem Dokument vorzunehmen, Änderungen zu committen und sie zusammenzuführen. RCS wurde ursprünglich für Programme entwickelt, ist aber auch für Textdokumente oder Konfigurationsdateien nützlich, die häufig überarbeitet werden.

    Lokale Versionskontrollsysteme

  2. Zentrale Versionskontrollsysteme

    Bei zentralisierten Systemen sind alle versionierten Dateien sowie eine Reihe von Clients, die Dateien von diesem zentralen Ort auschecken, auf einem einzigen Server zusammengefasst. Seit vielen Jahren ist dies der Standard für die Versionskontrolle. Zentrale Versionskontrollsysteme sind CVS, Subversion und Perforce. Zentrale Versionskontrollsysteme

  3. Verteilte Versionskontrollsysteme

    Bei verteilten Versionskontrollsystemen (DVCS) spiegeln Clients das Repository vollständig wider, einschließlich seiner gesamten Historie. Wenn der Server, mit dem diese Systeme zusammenarbeiten, ausfällt, können die Client-Repositories zurück auf den Server kopiert werden, um ihn wiederherzustellen. Verteilte Versionskontrollsysteme sind Git, Mercurial, Bazaar oder Darcs.

Vorteile von Versionskontrollsystemen

Die Hauptvorteile von Versionskontrollsystemen sind folgende:

  1. Langfristige Änderungsverwaltung Die von Entwicklern vorgenommenen Änderungen, einschließlich der Erstellung, Modifikation und Löschung von Dateien im Laufe der Jahre, können in der Historie eingesehen werden. Dies ermöglicht es, zu einer früheren Version zurückzukehren, um Bugs zu analysieren und Probleme zu beheben.
  2. Branching und Merging Branching ermöglicht das unabhängige Arbeiten, ohne sich gegenseitig zu behindern. Merging bringt die Arbeiten zusammen und zeigt auf, ob Konflikte zwischen diesen Arbeiten bestehen.
  3. Nachverfolgbarkeit Die Fähigkeit, jede Änderung nachzuverfolgen und sie mit Projektmanagement- und Bug-Tracking-Software zu verbinden, sowie jede Änderung mit einer Nachricht zu annotieren, die den Zweck der Änderung beschreibt.

Praxis

Welche der folgenden ist keine Art von Versionskontrollsystem?

Finden Sie das nützlich?

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