SlideShare a Scribd company logo
1 of 16
Download to read offline
INTRODUZIONE A
GIT e GITLAB
Yefry Figueroa - IT Consultant
2018
TOPICS ◼ Cosa è un sistema di controllo di versioni?
◼ Cosa è GIT?
◼ Come funziona GIT?
◼ Commit, Repository, Branch
◼ Gitlab: Open-Source GitHub
◼ Gitlab Cloud e Gitlab Self-Hosted
◼ Overview Demo
www.figueroa.it
WEBINAR - Introduzione a GitLab
SISTEMA DI CONTROLLO DI VERSIONE
• Un sistema che tiene traccia delle tue modifiche
• Permette lo sviluppo collaborativo
• Ti permette di sapere chi ha fatto cosa e quando
• Ti consente di annullare qualsiasi modifica apportata e tornare a uno stato precedente
www.figueroa.it
WEBINAR - Introduzione a GitLab
GIT È UN SISTEMA DI CONTROLLO
DI VERSIONE DISTRIBUITO
GIT
• Creato nel 2005 da Linus Torvalds, il creatore del kernel Linux
• Gratis e open source
• Veloce e sicuro perché è un sistema distribuito
• Ottimo supporto allo sviluppo non-lineare
• Portabilità: funziona su Mac, Linux e Windows
• Capacità di gestire, in modo efficiente, grandi progetti
www.figueroa.it
WEBINAR - Introduzione a GitLab
COME FUNZIONA GIT?
SNAPSHOT
• E’ il modo in cui git mantiene traccia della cronologia del tuo codice
• Essenzialmente registra lo stato attuale di tutti i file in un dato momento
• Decidi tu quando creare uno snapshot e su quali file
• Hai sempre la possibilità di andare indietro a leggere uno snapshot
www.figueroa.it
WEBINAR - Introduzione a GitLab
COMMIT
• E’ l’azione con la quale creiamo uno snapshot
• I commit rappresentano il modo in cui si ‘salvano’ le modifiche fatte al codice
www.figueroa.it
WEBINAR - Introduzione a GitLab
REPOSITORY
• E’ una collezione di tutti i file, la loro cronologia e l’history dei commit
• Può risiedere su una macchina locale o su un server remoto come GitLab
• Principali funzionalità:
• Init: inizializza un nuovo repository all’interno della cartella corrente
• Clone: clona un repository git esistente dal server remoto
• Pull: scarica dati da un repository remoto
• Push: invia branch e dati ad un repository remoto
www.figueroa.it
WEBINAR - Introduzione a GitLab
BRANCH
• Tutti i commit su git risiedono su qualche branch
• Possono esserci tanti branch in un’unico repository
• Il branch principale in un progetto è chiamato per default ‘master’
www.figueroa.it
WEBINAR - Introduzione a GitLab
QUINDI:
una serie di commit collegati tra loro
risiedono su uno o più branch
all’interno di un repository
www.figueroa.it
WEBINAR - Introduzione a GitLab
COSA E’ GITLAB?
GITLAB
◼ Piattaforma basata su GIT
◼ Facilita lo sviluppo collaborativo
◼ Open-Source GitHub
◼ GitLab semplifica il lavoro distribuito
◼ E’ disponibile in due versioni:
◼ Self-hosted
◼ SaaS (gitlab.com)
◼ Nessun limite dei repository privati
◼ Nessun limite di collaboratori
◼ DevOps focus
◼ Continuous Integration
◼ Container Registry
◼ Continuous Delivery
◼ Mattermost (comunicazione del team)
GITLAB
DEMO
DOMANDE?

More Related Content

What's hot

Git – lo stupido gestore di contenuti
Git – lo stupido gestore di contenutiGit – lo stupido gestore di contenuti
Git – lo stupido gestore di contenutiGiulio Caccin
 
I linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-sourceI linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-sourceBergamo Linux Users Group
 
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
 
Chi ha paura di Github? Conosciamolo meglio!
Chi ha paura di Github? Conosciamolo meglio!Chi ha paura di Github? Conosciamolo meglio!
Chi ha paura di Github? Conosciamolo meglio!Giacoma Allegretta
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Valerio Radice
 

What's hot (9)

Git best practices
Git best practicesGit best practices
Git best practices
 
Git – lo stupido gestore di contenuti
Git – lo stupido gestore di contenutiGit – lo stupido gestore di contenuti
Git – lo stupido gestore di contenuti
 
GitSlides
GitSlidesGitSlides
GitSlides
 
I linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-sourceI linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-source
 
Git
GitGit
Git
 
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
 
Perchè Git?
Perchè Git?Perchè Git?
Perchè Git?
 
Chi ha paura di Github? Conosciamolo meglio!
Chi ha paura di Github? Conosciamolo meglio!Chi ha paura di Github? Conosciamolo meglio!
Chi ha paura di Github? Conosciamolo meglio!
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)
 

Similar to Introduzione a Git e GitLab

Linux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceLinux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
 
Introduzione a git
Introduzione a gitIntroduzione a git
Introduzione a gitKlab
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Gerardo Di Iorio
 
Data Analysis & Machine Learning
Data Analysis & Machine LearningData Analysis & Machine Learning
Data Analysis & Machine LearningCaffeina
 
GitOps and Best Practices for Cloud Native CI/CD
GitOps and Best Practices for Cloud Native CI/CDGitOps and Best Practices for Cloud Native CI/CD
GitOps and Best Practices for Cloud Native CI/CDAntonio Liccardi
 
Revisionare, tracciare, collaborare. Version control con git
Revisionare, tracciare, collaborare. Version control con gitRevisionare, tracciare, collaborare. Version control con git
Revisionare, tracciare, collaborare. Version control con gitFabio Alessandrelli
 
Corso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document ManagementCorso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document ManagementSalvatore Cordiano
 
Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Paolo Ferretti
 
Collaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumentiCollaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumentiFilippo Lanubile
 
Nat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazioneNat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazioneGiuliano Latini
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioAntonio Musarra
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...MariaDB plc
 

Similar to Introduzione a Git e GitLab (20)

Emerasoft Git quickstart
Emerasoft Git quickstartEmerasoft Git quickstart
Emerasoft Git quickstart
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Linux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceLinux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelance
 
Xamarin DevOps
Xamarin DevOpsXamarin DevOps
Xamarin DevOps
 
Introduzione a git
Introduzione a gitIntroduzione a git
Introduzione a git
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
 
Introduzione a Git
Introduzione a GitIntroduzione a Git
Introduzione a Git
 
Controllo di versione e Git
Controllo di versione e GitControllo di versione e Git
Controllo di versione e Git
 
Data Analysis & Machine Learning
Data Analysis & Machine LearningData Analysis & Machine Learning
Data Analysis & Machine Learning
 
GitOps and Best Practices for Cloud Native CI/CD
GitOps and Best Practices for Cloud Native CI/CDGitOps and Best Practices for Cloud Native CI/CD
GitOps and Best Practices for Cloud Native CI/CD
 
Revisionare, tracciare, collaborare. Version control con git
Revisionare, tracciare, collaborare. Version control con gitRevisionare, tracciare, collaborare. Version control con git
Revisionare, tracciare, collaborare. Version control con git
 
Corso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document ManagementCorso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document Management
 
Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3Corso Python Deltapromo - Lezione 3
Corso Python Deltapromo - Lezione 3
 
Collaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumentiCollaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumenti
 
Introduzione a Python e GitHub
Introduzione a Python e GitHub Introduzione a Python e GitHub
Introduzione a Python e GitHub
 
Docker & DevOps
Docker  & DevOpsDocker  & DevOps
Docker & DevOps
 
Nat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazioneNat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazione
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
 
Containerized Liferay
Containerized LiferayContainerized Liferay
Containerized Liferay
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
 

More from Yefry Figueroa

Sistemista - come sopravvivere nell era dei DevOps e Cloud Architect
Sistemista - come sopravvivere nell era dei DevOps e Cloud ArchitectSistemista - come sopravvivere nell era dei DevOps e Cloud Architect
Sistemista - come sopravvivere nell era dei DevOps e Cloud ArchitectYefry Figueroa
 
Docker e Kubernetes per professionisti IT
Docker e Kubernetes per professionisti ITDocker e Kubernetes per professionisti IT
Docker e Kubernetes per professionisti ITYefry Figueroa
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to AnsibleYefry Figueroa
 
Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018Yefry Figueroa
 
Ansible Workshop - Coretech Summit 2018
Ansible Workshop - Coretech Summit 2018Ansible Workshop - Coretech Summit 2018
Ansible Workshop - Coretech Summit 2018Yefry Figueroa
 
Seguridad Informática - principales amenazas y protecciones
Seguridad Informática - principales amenazas y proteccionesSeguridad Informática - principales amenazas y protecciones
Seguridad Informática - principales amenazas y proteccionesYefry Figueroa
 

More from Yefry Figueroa (7)

Sistemista - come sopravvivere nell era dei DevOps e Cloud Architect
Sistemista - come sopravvivere nell era dei DevOps e Cloud ArchitectSistemista - come sopravvivere nell era dei DevOps e Cloud Architect
Sistemista - come sopravvivere nell era dei DevOps e Cloud Architect
 
Docker e Kubernetes per professionisti IT
Docker e Kubernetes per professionisti ITDocker e Kubernetes per professionisti IT
Docker e Kubernetes per professionisti IT
 
Introduzione A Docker
Introduzione A DockerIntroduzione A Docker
Introduzione A Docker
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018
 
Ansible Workshop - Coretech Summit 2018
Ansible Workshop - Coretech Summit 2018Ansible Workshop - Coretech Summit 2018
Ansible Workshop - Coretech Summit 2018
 
Seguridad Informática - principales amenazas y protecciones
Seguridad Informática - principales amenazas y proteccionesSeguridad Informática - principales amenazas y protecciones
Seguridad Informática - principales amenazas y protecciones
 

Introduzione a Git e GitLab

  • 1. INTRODUZIONE A GIT e GITLAB Yefry Figueroa - IT Consultant 2018
  • 2. TOPICS ◼ Cosa è un sistema di controllo di versioni? ◼ Cosa è GIT? ◼ Come funziona GIT? ◼ Commit, Repository, Branch ◼ Gitlab: Open-Source GitHub ◼ Gitlab Cloud e Gitlab Self-Hosted ◼ Overview Demo www.figueroa.it WEBINAR - Introduzione a GitLab
  • 3. SISTEMA DI CONTROLLO DI VERSIONE • Un sistema che tiene traccia delle tue modifiche • Permette lo sviluppo collaborativo • Ti permette di sapere chi ha fatto cosa e quando • Ti consente di annullare qualsiasi modifica apportata e tornare a uno stato precedente www.figueroa.it WEBINAR - Introduzione a GitLab
  • 4. GIT È UN SISTEMA DI CONTROLLO DI VERSIONE DISTRIBUITO
  • 5. GIT • Creato nel 2005 da Linus Torvalds, il creatore del kernel Linux • Gratis e open source • Veloce e sicuro perché è un sistema distribuito • Ottimo supporto allo sviluppo non-lineare • Portabilità: funziona su Mac, Linux e Windows • Capacità di gestire, in modo efficiente, grandi progetti www.figueroa.it WEBINAR - Introduzione a GitLab
  • 7. SNAPSHOT • E’ il modo in cui git mantiene traccia della cronologia del tuo codice • Essenzialmente registra lo stato attuale di tutti i file in un dato momento • Decidi tu quando creare uno snapshot e su quali file • Hai sempre la possibilità di andare indietro a leggere uno snapshot www.figueroa.it WEBINAR - Introduzione a GitLab
  • 8. COMMIT • E’ l’azione con la quale creiamo uno snapshot • I commit rappresentano il modo in cui si ‘salvano’ le modifiche fatte al codice www.figueroa.it WEBINAR - Introduzione a GitLab
  • 9. REPOSITORY • E’ una collezione di tutti i file, la loro cronologia e l’history dei commit • Può risiedere su una macchina locale o su un server remoto come GitLab • Principali funzionalità: • Init: inizializza un nuovo repository all’interno della cartella corrente • Clone: clona un repository git esistente dal server remoto • Pull: scarica dati da un repository remoto • Push: invia branch e dati ad un repository remoto www.figueroa.it WEBINAR - Introduzione a GitLab
  • 10. BRANCH • Tutti i commit su git risiedono su qualche branch • Possono esserci tanti branch in un’unico repository • Il branch principale in un progetto è chiamato per default ‘master’ www.figueroa.it WEBINAR - Introduzione a GitLab
  • 11. QUINDI: una serie di commit collegati tra loro risiedono su uno o più branch all’interno di un repository www.figueroa.it WEBINAR - Introduzione a GitLab
  • 13. GITLAB ◼ Piattaforma basata su GIT ◼ Facilita lo sviluppo collaborativo ◼ Open-Source GitHub ◼ GitLab semplifica il lavoro distribuito ◼ E’ disponibile in due versioni: ◼ Self-hosted ◼ SaaS (gitlab.com)
  • 14. ◼ Nessun limite dei repository privati ◼ Nessun limite di collaboratori ◼ DevOps focus ◼ Continuous Integration ◼ Container Registry ◼ Continuous Delivery ◼ Mattermost (comunicazione del team) GITLAB
  • 15. DEMO