13-15 October 2021
Europe/Rome timezone

Utilizzo di Git per sviluppo collaborativo

13 Oct 2021, 14:30
30m
Comunicazione orale Sviluppo, sistemi di automazione e CI/CD Sviluppo, sistemi di automazione software e CI/CD

Speaker

NICOLO' PARACIANI (ISPC)

Description

Git è un software open source per il versionamento di file sorgente (Version Control System) sviluppato inzialmente nel 2005 da Linus Torvalds. Git permette controllare in maniera flessibile ma rigorosa le fasi di sviluppo di un software, o in generale di tenere traccia delle modifiche operate a un insieme di file (tipicamente file di testo contenenti codice sorgente, ma l'utilizzo può essere esteso a file di configurazione, testi in Markdown, PDF ecc.). La caratteristica principale di Git, che lo distingue da sistemi simili è la sua natura distribuita - che consente di utilizzarlo in locale senza necessariamente dover configurare un server centrale dedicato - e la possibilità di creare "ramificazioni" (branches) parallele alla linea di sviluppo principale con molta facilità e poco "impegno" in termini di risorse. Queste sue proprietà - tra le altre - hanno portato negli anni alla sua adozione su larga scala, anche grazie alla nascita e alla diffusione di sistemi di tipo Git server come GitHub e GitLab che permettono di utilizzare Git in modo collaborativo attraverso un repository remoto condiviso, offrendo interfacce Web che consentono molte operazioni.
La demo - che in nessun modo può essere considerata esaustiva - intende:
1. Presentare le funzionalità basilari di Git, nel suo utilizzo in locale tramite la rispettiva Command Line Interface (CLI) da terminale. (Pur esistendo varie interfacce grafiche per Git che offrono funzionalità comparabili alla CLI, sarebbe necessario selezionarne una specifica, mentre i comandi sono utilizzabili sempre allo stesso modo.)
2. Offrire una panoramica essenziale delle modalità di lavoro collaborativo tramite il servizio Gitlab (dato il suo utilizzo nell'istanza CNR https://baltig.cnr.it)
Si partirà dalla creazione e inizializzazione di un repository Git locale vuoto, aggiungendo progressivamente file sorgente (codice HTML per una semplicissima pagina Web) e dimostrando l'utilizzo di vari comandi, tra i quali:

  • git config;
  • git status;
  • git add;
  • git commit;
  • git branch;
  • git checkout;
  • git merge;
  • git rebase;
  • git stash.

Si mostrerà poi un esempio di flusso di lavoro distribuito (nello specifico, il cosiddetto Integration Manager Workflow), tramite la sua applicazione ad un repository di prova ospitato su Gitlab.

video della comunicazione

Primary author

Presentation Materials