GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einführung in das Versionskontrollsystem

Wenn Sie ein Programmierer oder Entwickler sind und an Softwareanwendungen oder einer Website arbeiten, benötigen Sie definitiv ein Versionierungssystem, um die Änderungen zu verfolgen. Versionskontrollsystem wird auch als SCM bezeichnet (S Quelle C ode Management) Tools oder RCS (R Ausgabe C Steuerung S System).

Die Versionskontrolle ist eine Methode oder eine Kategorie von Softwaretools, mit deren Hilfe Änderungen im Code nachverfolgt werden können, sodass wir, wenn etwas schief geht, Vergleiche in verschiedenen Codeversionen anstellen und problemlos zu früheren Versionen zurückkehren können. Es ist sehr hilfreich, wenn mehrere Entwickler kontinuierlich am Quellcode arbeiten oder ihn ändern.

Vorteile des Versionskontrollsystems

Unter Verwendung von VCS können die Programmierer den Projektverlauf überprüfen, um die folgenden Details herauszufinden:

  • Welche Änderungen wurden im Code vorgenommen?
  • Wer hat die Änderungen am Code vorgenommen?
  • Wann wurden die Änderungen am Code vorgenommen?
  • Warum waren Änderungen erforderlich?

Hier ist eine einfache grafische Darstellung, die Ihnen eine Vorstellung davon gibt, wie VCS tatsächlich funktioniert.

In der obigen Abbildung ist die erste Zeile mit den hellblauen Kugeln der Master-Zweig, der der Hauptzweig des Quellcodes ist. Also v0.1 und v0.2 sind die mehreren Versionen, die erstellt wurden, um eine Art Schnappschuss des gesamten Quellcodes zu erstellen. Wir haben je nach Anforderung mehrere Branches aus dem Master-Branch wie Release-, Develop- und Hotfix-Branch erstellt. Mehrere Entwickler können an demselben Projekt arbeiten, indem sie verschiedene Branches erstellen und sie am Ende mit dem Master-Branch zusammenführen.

VCS-Typen

Es gibt zwei Arten von VCS, nämlich:

  1. Zentrales Versionskontrollsystem (CVCS),
  2. Verteiltes Versionskontrollsystem (DVCS).

Lassen Sie uns zunächst einen kurzen Blick auf das zentralisierte Versionskontrollsystem werfen.

Zentrales Versionskontrollsystem

Das zentralisierte Versionskontrollsystem arbeitet auf einer Client-Server-Beziehung. Der Server wird alle Informationen haben, die es gibt
an den Auftraggeber übertragen. Man kann sagen, dass es sich um eine Art gemeinsam genutztes Repository handelt, das den Entwicklern den neuesten Code zur Verfügung stellt. Entwickler werden also jedes Mal an der Masterkopie arbeiten. Es ist so einfach, dass Sie die neueste Kopie des Codes abrufen, daran arbeiten (Änderungen übernehmen) und den Code dann zurück in das Repository verschieben müssen.

Der Hauptnachteil des zentralisierten VCS besteht darin, dass es sich um einen Single Point of Failure handelt. Wenn der zentrale Server ausgefallen ist, können Sie ihn nicht verwenden. Wenn Sie ein Remote-Commit durchführen, wird dies ebenfalls einige Zeit in Anspruch nehmen. Sie benötigen eine Internetverbindung, um Änderungen vorzunehmen.

Beispiele:

  • Open-Source -> Concurrent Versions System (CVS), Subversion (SVN).
  • Eigene -> TeamCity, Vault, IBM Configuration Management Versionskontrolle (CMVC).

Verteiltes Versionskontrollsystem

Das verteilte Versionskontrollsystem verfügt über ein zentrales Repository, und alle Entwickler haben eine lokale Kopie des Repositorys.
Entwickler können gleichzeitig an ihrer lokalen Kopie arbeiten. Sie benötigen keine Internetverbindung, um an dem Code zu arbeiten. Sie können alles im Code tun, außer Push und Pull. Wenn der zentrale Server ausgefallen ist, hat das lokale Repository ebenfalls keine Auswirkungen.

Beispiele:

  • Open-Source - Git, Mercurial, Basar.
  • Eigene - Visual Studio Team Services, Plastic SCM.

Unterschied zwischen SVN (Centralized VCS) und GIT (Distributed VCS) Architektur

Die folgende Grafik erklärt den Unterschied zwischen CVCS und DVCS.

Aus der obigen Abbildung können wir leicht erkennen, dass wir in SVN (Centralized VCS) nur ein zentrales Repository haben, aber in GIT (Distributed VCS) haben wir sowohl ein zentrales Repository als auch ein lokales Repository.

Ich hoffe, Sie haben die Grundidee über VCS und seine Typen verstanden. Wir werden in den kommenden Tagen weitere Leitfäden zu VCS veröffentlichen. Bleiben Sie dran!

Verwandte Lektüre:

  • Was ist Git und wie wird Git unter Linux installiert

Über den Autor:

Dhruv Tiwari ist ein DevOps-Ingenieur, der es liebt, Dinge zu automatisieren, mit Linux in großem Maßstab zu arbeiten und von dem Tag zu träumen, an dem Systeme intelligent genug sind, um sich nie mehr bei einer Linux-Box anmelden zu müssen. Reise von CI/CD vom Quellcode über die Codebereitstellung bis zur Produktion.


Linux
  1. So überprüfen Sie die Betriebssystem- und Linux-Version

  2. Eine kurze Einführung in Ansible-Rollen für die Linux-Systemverwaltung

  3. So überprüfen Sie die Kernel-Version unter Linux

  4. Warum tötet der folgende Befehl ein System?

  5. So installieren Sie den Nano-Editor aus dem Quellcode

Einführung in das Linux-Dateisystem

So überprüfen Sie die Linux-Version

Die Einführung eines Linux-Systemadministrators in cgroups

So installieren Sie das Git-Versionskontrollsystem unter Debian 11

Steuern Sie die Systemressourcennutzung mit dem Ulimit-Befehl

Gewusst wie:Einführung in die Programmierung – Flusssteuerung