What is source control? (Informazioni sul codice sorgente)
Un sistema di controllo del codice sorgente (o sistema di controllo della versione) consente agli sviluppatori di collaborare al codice e di tenere traccia delle modifiche. Usare il controllo della versione per salvare il lavoro e coordinare le modifiche al codice all'interno del team. Il controllo del codice sorgente è uno strumento essenziale per i progetti multi-sviluppatore.
Il sistema di controllo della versione salva uno snapshot dei file (cronologia) in modo che sia possibile esaminare e persino eseguire il rollback a qualsiasi versione del codice con facilità. Consente anche di risolvere i conflitti quando si uniscono contributi da più origini.
Per la maggior parte dei team software, il codice sorgente è un repository di informazioni e conoscenze inestimabili sul dominio del problema che gli sviluppatori hanno raccolto e affinato attraverso un attento lavoro.
Il controllo del codice sorgente protegge il codice sorgente da catastrofi e dal degrado casuale dovuto all'errore umano e alle conseguenze impreviste.
Senza il controllo della versione, si ha la tentazione di conservare più copie del codice nel computer. Potrebbe essere pericoloso. È facile modificare o eliminare un file nella copia sbagliata del codice, perdendo potenzialmente il lavoro.
I sistemi di controllo della versione risolvono questo problema gestendo tutte le versioni del codice, ma presentando una singola versione alla volta.
Gli strumenti e i processi da soli non bastano a realizzare quanto sopra, come l'adozione di Agile, dell'integrazione continua e di DevOps. Può sembrare incredibile, ma tutto si basa su una solida pratica di controllo della versione.
Il controllo della versione consiste nel tenere traccia di ogni modifica apportata agli asset software, tracciando e gestendo chi, cosa e quando. Il controllo della versione è il primo passaggio necessario per garantire la qualità all'origine, assicurare il valore dei flussi e dei pull e concentrarsi sul processo. Tutto ciò crea valore non sono solo per i team software, ma in definitiva per il cliente.
Il controllo della versione è una soluzione per la gestione e il salvataggio delle modifiche apportate a qualsiasi asset creato manualmente. Se le modifiche vengono apportate al codice sorgente, è possibile tornare indietro nel tempo ed eseguire facilmente il rollback alle versioni funzionanti precedenti.
Gli strumenti di controllo della versione consentiranno di visualizzare chi ha apportato modifiche, quando e che cosa esattamente è stato modificato.
Il controllo della versione semplifica anche la sperimentazione e, soprattutto, rende possibile la collaborazione. Senza il controllo della versione, la collaborazione al codice sorgente sarebbe un'operazione difficile.
Esistono diversi punti di vista sul controllo della versione.
Per gli sviluppatori, è uno strumento quotidiano per il lavoro e la collaborazione. Fa parte del lavoro giornaliero, uno degli strumenti più usati.
Per i dirigenti, il valore critico del controllo della versione consiste in:
- Sicurezza IP.
- Gestione dei rischi.
- Time-to-market rapido grazie al recapito continuo, dove il controllo della versione è fondamentale.