Slide 1

Slide 1 text

Javi%Lorbada

Slide 2

Slide 2 text

What%is%Git? Git$is$an$open%source$distributed version$control$system$designed$to$ handle$everything$from$small$to$very$ large$projects$with$speed$and$ efficiency.

Slide 3

Slide 3 text

What%is%Git? Git$is$an$open$source$distributed version$control$system$designed$to$ handle$everything$from$small$to$very$ large$projects$with$speed$and$ efficiency.

Slide 4

Slide 4 text

What%is%Git? Git$is$an$open$source$distributed version$control$system$designed$to$ handle$everything$from$small$to$very$ large$projects%with$speed%and$ efficiency.

Slide 5

Slide 5 text

Why%Git? •$Distributed$Version$Control.$Almost$ everything$is$local. •$Fast,$time$saving. •$Popular$(Github,$Bitbucket...) •$Easy$library$integration. •$Branching$&$Merging,$Pull$request.

Slide 6

Slide 6 text

Centralized%Version%Control% Systems%(CVS,%Subversion...)

Slide 7

Slide 7 text

Distributed%Version%Control% Systems%(Git,%Mercurial...)

Slide 8

Slide 8 text

Almost%everything%is%local Everything$is$fast Every$clone$is$a$backup Work$offline

Slide 9

Slide 9 text

No%Network%Needed Performing$a$diff Viewing$file$history Committing$changes Merging$branches Obtaining$other$revisions$of$a$file Switching$branches

Slide 10

Slide 10 text

Git%is%Fast

Slide 11

Slide 11 text

Git%is%Popular •$ObjectiveLC:$AFNetworking,$ASIHTTPRequest •$Java:$Jenkins,$Android$SlidingMenu...$ •$Javascript:$JQuery,$Bootstrap,$boilerplate •$Ruby:$Rails,$homebrew... How%many%libraries%from%Github%have%we% used?

Slide 12

Slide 12 text

Easy%library%integration svn:external%O>%git%project $%git%submodule%add iOS:%Cocoapods%(http://cocoapods.org/)

Slide 13

Slide 13 text

Branching%&%Merging.% Pull%request. •$Feature$branches •$Release$branches$ •$Hotfix$branches Different%types%of% branches%we%may%use: Pull%request%is%our% friend. Develop Master

Slide 14

Slide 14 text

Time release$ branches master develop hotfixes feature$ branches Feature for future release Tag 1.0 Major feature for next release From this point on, “next release” means the release after 1.0 Severe bug xed for production: hot x 0.2 Bug xes from rel. branch may be continuously merged back into develop Tag 0.1 Tag 0.2 Incorporate bug x in develop Only bug xes! Start of release branch for 1.0

Slide 15

Slide 15 text

Git%Mac%Clients •%Github •%Tower •%Gitbox •%GitX%(L) •%SourceTree Git%Windows%Clients •%Github •%Git%Extensions •%GitOCola •%SourceTree

Slide 16

Slide 16 text

Sources •$http://gitLscm.com/about •$http://whygitisbetterthanx.com •$http://gitLscm.com/book/$(Dutch$and$Spanish) •$http://nvie.com/posts/aLsuccessfulLgitL branchingLmodel/

Slide 17

Slide 17 text

Thank%you! Javi%Lorbada @javi_lorbada http://javilorbada.github.com/