GNU/Linux >> Linux Esercitazione >  >> Linux

Introduzione al sistema di controllo della versione

Se sei un programmatore o uno sviluppatore e lavori su applicazioni software o qualsiasi sito Web, avrai sicuramente bisogno di un sistema di controllo delle versioni per tenere traccia delle modifiche. Sistema di controllo della versione viene anche chiamato SCM (S la nostra C ode Management) o RCS (R visione C controllare S sistema).

Il controllo della versione è un metodo o una categoria di strumenti software che aiuta a tenere traccia delle modifiche nel codice in modo che, se qualcosa va storto, possiamo fare confronti in diverse versioni del codice e tornare facilmente alle versioni precedenti. È molto utile quando più sviluppatori lavorano continuamente o modificano il codice sorgente.

Vantaggi del sistema di controllo della versione

Utilizzando VCS, i programmatori possono rivedere la cronologia del progetto per scoprire i seguenti dettagli:

  • Quali modifiche sono state apportate al codice?
  • Chi ha apportato le modifiche al codice?
  • Quando sono state apportate le modifiche al codice?
  • Perché erano necessarie modifiche?

Ecco una semplice illustrazione grafica che ti dà un'idea di come funziona effettivamente VCS.

Nella figura sopra, la prima riga con le palline azzurre è il ramo principale che è il ramo principale del codice sorgente. Quindi v0.1 e v0.2 sono le versioni multiple create per acquisire il tipo di snapshot dell'intero codice sorgente. Abbiamo creato più rami dal ramo principale come il rilascio, lo sviluppo e il ramo dell'hotfix in base alle esigenze. Più sviluppatori possono lavorare allo stesso progetto creando rami diversi e alla fine unirlo al ramo principale.

Tipi di VCS

Esistono due tipi di VCS, vale a dire:

  1. Sistema di controllo della versione centralizzato (CVCS),
  2. Sistema di controllo della versione distribuito (DVCS).

Per prima cosa, diamo una rapida occhiata al sistema di controllo delle versioni centralizzato.

Sistema di controllo versione centralizzato

Il sistema di controllo della versione centralizzato funziona su una relazione Client-Server. Il server avrà tutte le informazioni che sono
trasferito al cliente. Puoi dire che è una sorta di repository condiviso che fornisce il codice più recente agli sviluppatori. Quindi gli sviluppatori lavoreranno ogni volta sulla copia master. È semplice in quanto devi estrarre l'ultima copia del codice, lavorarci sopra (commit modifiche) e quindi inviare il codice di nuovo al repository.

Lo svantaggio principale del VCS centralizzato è che si tratta di un singolo punto di errore. Se il server centrale si è interrotto, non è possibile utilizzarlo. Se stai eseguendo un commit remoto, ci vorrà anche del tempo. Avrai bisogno della connettività Internet per confermare le modifiche.

Esempi:

  • Open source -> Sistema di versioni simultanee (CVS), Subversion (SVN).
  • Proprietario -> TeamCity, Vault, IBM Configuration Management Version Control (CMVC).

Sistema di controllo della versione distribuito

Il sistema di controllo della versione distribuito ha un repository centralizzato e tutti gli sviluppatori hanno una copia locale del repository.
Gli sviluppatori possono lavorare sulla loro copia locale contemporaneamente. Non hanno richiesto la connettività Internet per lavorare sul codice. Possono fare tutto nel codice tranne push and pull. Se il server centrale si è interrotto, non ci sarà alcun impatto a causa del repository locale.

Esempi:

  • Open source - Git, Mercurial, Bazaar.
  • Proprietario - Visual Studio Team Services, Plastic SCM.

Differenza tra architettura SVN (VCS centralizzata) e GIT (VCS distribuito)

Il grafico seguente spiega la differenza tra CVCS e DVCS.

Dalla figura sopra si può facilmente riconoscere che in SVN (Centralized VCS) abbiamo solo un repository centrale ma in GIT (Distributed VCS) abbiamo un repository centrale oltre che un repository locale.

Spero che tu abbia l'idea di base su VCS e sui suoi tipi. Pubblicheremo altre guide relative al VCS nei giorni a venire. Resta sintonizzato!

Lettura correlata:

  • Cos'è Git e come installare Git in Linux

Informazioni sull'autore:

Dhruv Tiwari è un ingegnere DevOps che ama automatizzare le cose, lavorare con Linux su larga scala e sognare il giorno in cui i sistemi saranno abbastanza intelligenti da non dover mai accedere a una macchina Linux. Viaggio di CI/CD dal codice sorgente alla distribuzione del codice alla produzione.


Linux
  1. Un'introduzione agli elenchi di controllo di accesso (ACL) di Linux

  2. Sopravvivere a un controllo di sicurezza con Linux aziendale

  3. Una breve introduzione ai ruoli Ansible per l'amministrazione del sistema Linux

  4. Come controllare la versione del kernel su Linux

  5. Perché il seguente comando sta uccidendo un sistema?

Introduzione al file system Linux

Come controllare la versione di Linux

Introduzione di un amministratore di sistema Linux a cgroups

Come installare Git Version Control System su Debian 11

Controllo dell'utilizzo delle risorse del sistema con il comando Ulimit

Procedura:Introduzione alla programmazione – Controllo del flusso