introduzione a git - webinar zend

74
Tuesday, June 26, 2012

Upload: alessandro-cinelli

Post on 08-May-2015

1.151 views

Category:

Technology


0 download

DESCRIPTION

Webinar Zend, http://www.zend.com/it/company/news/event/1081_webinar-introduzione-a-gitIntroduzione a GIT, ai comandi principali, qualche trucchetto e best practice

TRANSCRIPT

Page 1: Introduzione a GIT - Webinar Zend

Tuesday, June 26, 2012

Page 2: Introduzione a GIT - Webinar Zend

Tuesday, June 26, 2012

Page 3: Introduzione a GIT - Webinar Zend

perché git?✤ branching

✤ velocità

✤ offline

✤ branching === flessibilità

✤ GitHub

Tuesday, June 26, 2012

Page 4: Introduzione a GIT - Webinar Zend

prima release 7 agosto 2005

Tuesday, June 26, 2012

Page 5: Introduzione a GIT - Webinar Zend

1,740,288 utenti

3,067,552 repository

Tuesday, June 26, 2012

Page 6: Introduzione a GIT - Webinar Zend

https://github.com/php

https://github.com/zendframework

https://github.com/symfony

https://github.com/WordPress

https://github.com/jquery

e tanti altri...

Tuesday, June 26, 2012

Page 7: Introduzione a GIT - Webinar Zend

git clone

Tuesday, June 26, 2012

Page 8: Introduzione a GIT - Webinar Zend

git clone

scaricare il codice da un repository

Tuesday, June 26, 2012

Page 9: Introduzione a GIT - Webinar Zend

git clone

Tuesday, June 26, 2012

Page 10: Introduzione a GIT - Webinar Zend

la working copy è anch’essa un repository!

git clone

Tuesday, June 26, 2012

Page 11: Introduzione a GIT - Webinar Zend

la working copy è anch’essa un repository!

git clone

Tuesday, June 26, 2012

Page 12: Introduzione a GIT - Webinar Zend

git init

inizializzazione di un repository git

Tuesday, June 26, 2012

Page 13: Introduzione a GIT - Webinar Zend

inizializzazione di un repository git

git init

Tuesday, June 26, 2012

Page 14: Introduzione a GIT - Webinar Zend

contenuto della directory .git

git init.git|-- HEAD|-- branches|-- config|-- description|-- hooks| |-- applypatch-msg.sample| |-- commit-msg.sample| |-- post-commit.sample| |-- post-receive.sample| |-- post-update.sample| |-- pre-applypatch.sample| |-- pre-commit.sample| |-- pre-rebase.sample| |-- prepare-commit-msg.sample| `-- update.sample|-- info| `-- exclude|-- objects| |-- info| `-- pack`-- refs |-- heads `-- tags

9 directories, 14 files

Tuesday, June 26, 2012

Page 15: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

git status

Tuesday, June 26, 2012

Page 16: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

git status

Tuesday, June 26, 2012

Page 17: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

git status

Tuesday, June 26, 2012

Page 18: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

git add

Tuesday, June 26, 2012

Page 19: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

git add

Tuesday, June 26, 2012

Page 20: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

staging area

Tuesday, June 26, 2012

Page 21: Introduzione a GIT - Webinar Zend

aggiunta di contenuto

staging area

Tuesday, June 26, 2012

Page 22: Introduzione a GIT - Webinar Zend

staging area

Tuesday, June 26, 2012

Page 23: Introduzione a GIT - Webinar Zend

git commit

Tuesday, June 26, 2012

Page 24: Introduzione a GIT - Webinar Zend

git config --global color.ui auto

Tuesday, June 26, 2012

Page 25: Introduzione a GIT - Webinar Zend

Tuesday, June 26, 2012

Page 26: Introduzione a GIT - Webinar Zend

script shell prompt stato repo

es: https://github.com/robbyrussell/oh-my-zsh/

Tuesday, June 26, 2012

Page 27: Introduzione a GIT - Webinar Zend

git commit

Tuesday, June 26, 2012

Page 28: Introduzione a GIT - Webinar Zend

# commit

filesystem checksum

Tuesday, June 26, 2012

Page 29: Introduzione a GIT - Webinar Zend

nuova modifica + nuovo file

Tuesday, June 26, 2012

Page 30: Introduzione a GIT - Webinar Zend

nuova modifica + nuovo file

Tuesday, June 26, 2012

Page 31: Introduzione a GIT - Webinar Zend

Tuesday, June 26, 2012

Page 32: Introduzione a GIT - Webinar Zend

Tuesday, June 26, 2012

Page 33: Introduzione a GIT - Webinar Zend

branch

master : default branch

Tuesday, June 26, 2012

Page 34: Introduzione a GIT - Webinar Zend

branch

master : default branch

Tuesday, June 26, 2012

Page 35: Introduzione a GIT - Webinar Zend

branch

master : default branch

Tuesday, June 26, 2012

Page 36: Introduzione a GIT - Webinar Zend

git branch <name>

creazione nuovo branch

Tuesday, June 26, 2012

Page 37: Introduzione a GIT - Webinar Zend

branch login

Tuesday, June 26, 2012

Page 38: Introduzione a GIT - Webinar Zend

branch login altre 2 commit

git log --pretty=oneline

Tuesday, June 26, 2012

Page 39: Introduzione a GIT - Webinar Zend

git config --global alias.slog 'log --pretty=oneline'

Tuesday, June 26, 2012

Page 40: Introduzione a GIT - Webinar Zend

master branch rimane invariato

Tuesday, June 26, 2012

Page 41: Introduzione a GIT - Webinar Zend

master branch rimane invariato

Tuesday, June 26, 2012

Page 42: Introduzione a GIT - Webinar Zend

modifico master branch

Tuesday, June 26, 2012

Page 43: Introduzione a GIT - Webinar Zend

git merge

integro le modifiche del branch login con il branch master

Tuesday, June 26, 2012

Page 44: Introduzione a GIT - Webinar Zend

git graph log

Tuesday, June 26, 2012

Page 45: Introduzione a GIT - Webinar Zend

git config --global alias.glog

‘log --graph --pretty=oneline --abbrev-commit’

Tuesday, June 26, 2012

Page 46: Introduzione a GIT - Webinar Zend

git merge

login

master

Tuesday, June 26, 2012

Page 47: Introduzione a GIT - Webinar Zend

git merge

master

login

non fast-forward

Tuesday, June 26, 2012

Page 48: Introduzione a GIT - Webinar Zend

git merge

non fast-forward

Tuesday, June 26, 2012

Page 49: Introduzione a GIT - Webinar Zend

git reset

Tuesday, June 26, 2012

Page 50: Introduzione a GIT - Webinar Zend

git reset

Tuesday, June 26, 2012

Page 51: Introduzione a GIT - Webinar Zend

git reset<versione>

1) sposta HEAD alla versione (si ferma se si specifica l’opzione --soft)

2) poi, sposta la index alla versione (si ferma almeno che si specifichi l’opzione --hard)

3) poi, sposta la working copy alla versione specificata

Tuesday, June 26, 2012

Page 52: Introduzione a GIT - Webinar Zend

git merge

fast-forward

Tuesday, June 26, 2012

Page 53: Introduzione a GIT - Webinar Zend

git merge

fast-forward

Tuesday, June 26, 2012

Page 54: Introduzione a GIT - Webinar Zend

git merge

fast-forward

Tuesday, June 26, 2012

Page 55: Introduzione a GIT - Webinar Zend

git merge

fast-forward

Tuesday, June 26, 2012

Page 56: Introduzione a GIT - Webinar Zend

git reflog

Tuesday, June 26, 2012

Page 57: Introduzione a GIT - Webinar Zend

git rebase

torniamo al punto in cui abbiamo fatto modifiche sia sul branch master, sia sul branch login

MAnon abbiamo ancora fatto il merge (facendolo avremmo un nuovo commit -> no fast forward)

Tuesday, June 26, 2012

Page 58: Introduzione a GIT - Webinar Zend

git rebase

Tuesday, June 26, 2012

Page 59: Introduzione a GIT - Webinar Zend

git rebase

conflitto!

Tuesday, June 26, 2012

Page 60: Introduzione a GIT - Webinar Zend

git rebasepresente su master

presente su login

Tuesday, June 26, 2012

Page 61: Introduzione a GIT - Webinar Zend

git rebase

teniamo entrambe le modifiche

Tuesday, June 26, 2012

Page 62: Introduzione a GIT - Webinar Zend

git rebase

Tuesday, June 26, 2012

Page 63: Introduzione a GIT - Webinar Zend

git rebase

Fast Forward!

Tuesday, June 26, 2012

Page 64: Introduzione a GIT - Webinar Zend

git rebase

Fast Forward!

Tuesday, June 26, 2012

Page 65: Introduzione a GIT - Webinar Zend

git rebase

master

login

Tuesday, June 26, 2012

Page 66: Introduzione a GIT - Webinar Zend

git rebase

login

master

Tuesday, June 26, 2012

Page 67: Introduzione a GIT - Webinar Zend

git rebase

login

master

Tuesday, June 26, 2012

Page 68: Introduzione a GIT - Webinar Zend

repository remoti

Tuesday, June 26, 2012

Page 69: Introduzione a GIT - Webinar Zend

repository remoti

copio il mio repository locale in remoto, origin

Tuesday, June 26, 2012

Page 70: Introduzione a GIT - Webinar Zend

Tuesday, June 26, 2012

Page 71: Introduzione a GIT - Webinar Zend

git push

sincronizzo il mio repository locale con quello remoto

Tuesday, June 26, 2012

Page 72: Introduzione a GIT - Webinar Zend

school.ideato.it/contatti

Corso GIT per sviluppatori (e non solo)

20 luglio31 agosto13 settembre

Sedi del corso:MilanoRomaBresciaCesena

Tuesday, June 26, 2012

Page 73: Introduzione a GIT - Webinar Zend

Grazie!

@[email protected]

Tuesday, June 26, 2012

Page 74: Introduzione a GIT - Webinar Zend

http://git-scm.com/book

http://git-scm.com/

risorse

Tuesday, June 26, 2012