SlideShare a Scribd company logo
GIT 101Lorenz Cuno Klopfenstein — Saverio Delpriori
@lorenzck — @dlpswr
Il problema
Che non credevate di avere.
Versioning dei file
progetto.zip
Versioning dei file
progetto-1.zip
progetto-2.zip
progetto-3.zip
progetto-4.zip
progetto-5.zip
progetto-6.zip
progetto-7.zip
…
progetto-42.zip
Versioning nella realtà
progetto-1.zip
progetto-2.zip
progetto-1b.zip
progetto-ok.zip
progetto-backup.zip
progetto-xluca.zip
progetto-3.zip
progetto-fine.zip
progetto-consegnato.zip
progetto-sulserio.zip
Backup dei file
Conflitti
Pubblicazione
Pubblicazione
Fattore coolness
DEAL WITH
La soluzione
Forse.
Source Control
Source Control
Source Control
Source Control
Source Control
Source Control
Source Control
Source Control
Elementi di git
Repository, commit, conflitti, merge, etc.
Repository
Commit
Commit
Filesystem / Git
Filesystem / Git
Checkout
Filesystem / Git
Staging
Ciclo di vita delle modifiche
Checkout
Modifica
(su filesystem)
Staging
Commit
Demo
La mia prima repository.
Lavorare in parallelo
Lavorare in parallelo
Lavorare in parallelo
Lavorare in parallelo
Branch
master
develop
Branch
master
develop
Demo
Creare branch e farne il checkout.
Merging
master
develop
Demo
Effettuare il merge di due branch.
“Git-flow” branching
Fork
Pull request
?
Pull request
5 fasi
1. Rifiuto
2. Rabbia
3. Negoziazione
4. Depressione
5. Accettazione
Demo
Fork e pull request su Github.
Tutto risolto…
 Versioning
 Backup
 Gestione dei conflitti
 Collaborazione
 Pubblicazione
…eccetto la coolness
Domande?
Non abbiamo risposte.

More Related Content

PDF
Git best practices
PDF
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
PDF
Introduzione a Git
PDF
Introduzione a Git (ITA - 2017)
PDF
Git e GitHub
PDF
Emerasoft Git quickstart
PDF
PDF
Git for dummies
Git best practices
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Introduzione a Git
Introduzione a Git (ITA - 2017)
Git e GitHub
Emerasoft Git quickstart
Git for dummies

Similar to Git 101 (Introduzione a Git) (20)

ODP
Controllo di versione e Git
PDF
Introduzione a Git
PPTX
Introduzione a git
PDF
Introduzione a git
PDF
Git – lo stupido gestore di contenuti
PPTX
Git Flow - Un modello di branching che funziona
PDF
Revisionare, tracciare, collaborare. Version control con git
PDF
Git e GitHub - L'essenziale
PDF
GIT SOTTO IL COFANO
PDF
Git: un'introduzione pratica
PDF
Git gestione comoda del repository
PDF
Git branching model
PDF
Git
KEY
Perchè Git?
KEY
PPTX
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
KEY
Corso Python Deltapromo - Lezione 3
PPTX
Chi ha paura di Github? Conosciamolo meglio!
Controllo di versione e Git
Introduzione a Git
Introduzione a git
Introduzione a git
Git – lo stupido gestore di contenuti
Git Flow - Un modello di branching che funziona
Revisionare, tracciare, collaborare. Version control con git
Git e GitHub - L'essenziale
GIT SOTTO IL COFANO
Git: un'introduzione pratica
Git gestione comoda del repository
Git branching model
Git
Perchè Git?
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Corso Python Deltapromo - Lezione 3
Chi ha paura di Github? Conosciamolo meglio!
Ad

More from Lorenz Cuno Klopfenstein (8)

PPTX
Gamification for Crowdsourced Data Collection in Mobile Usability Field Studies
PPTX
SmartRoadSense (short overview)
PDF
The love child of Android and .NET: App development with Xamarin
PPTX
The Quiz-Master Bot - a Persistent Augmented Quiz delivered through Online Me...
PPTX
Bringing An Unplugged Coding Card Game To Augmented Reality
PPTX
The Rise of Bots: a Survey of Conversational Interfaces, Patterns, and Paradigms
PPTX
Introduzione a C#
PPTX
Introduzione a .NET / Mono
Gamification for Crowdsourced Data Collection in Mobile Usability Field Studies
SmartRoadSense (short overview)
The love child of Android and .NET: App development with Xamarin
The Quiz-Master Bot - a Persistent Augmented Quiz delivered through Online Me...
Bringing An Unplugged Coding Card Game To Augmented Reality
The Rise of Bots: a Survey of Conversational Interfaces, Patterns, and Paradigms
Introduzione a C#
Introduzione a .NET / Mono
Ad

Git 101 (Introduzione a Git)

Editor's Notes

  • #13: Margaret Hamilton, sistema operativo del Moon Lander Apollo 11 Source control „fisico“ in dipartimento del codice sorgente
  • #14: Bell Labs, Marc Rochkind 1972, SCCS
  • #15: Revision Control System, link simbolici su mainframe, molta gente lavora su stessi file
  • #16: Concurrent Version Control, 1986: lavorare su PIÙ file insieme, unico sistema di gestione Dick Grune: più lavoratori con orari diversi – il sistema effettua merge dei file di più persone (problema rimane: locking)
  • #17: Arriva TCP/IP CVS (e Subversion) diventano utilizzabili anche tramite TCP/IP: repository remota, con più lavoratori sulla propria workstation
  • #18: Cambio “sociale”: SourceForge Primo hosting online per progetti (open-source) CVS, Subversion, poi Mercurial e Git Github dell’epoca
  • #19: 2005: stesso anno, GNU Bazaar, Mercurial, Git. Source control diventa distribuito: macchina locale ha copia totale di tutta la storia. Lavorare, branching, merging: tutto avviene in locale, non c’è una sorgente “autorevole”.
  • #20: Coding diventa “sociale”: piattaforma di collaborazione, basata su Git. Prima le piccolo modifiche ad altri progetti rimanevano locali, dei propri autori. Ora è più facile farli online: fork, pull request, commenti, editing del codice nel browser…
  • #34: Branch: «filone» di lavoro. «Etichetta» che identifica/punta ad un commit in particolare. Alias dell’ID univoco del commit.
  • #35: Branch: «filone» di lavoro. «Etichetta» che identifica/punta ad un commit in particolare. Alias dell’ID univoco del commit.