Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Git

Introduction to Git

A talk on how git could change the way we develop software.

I gave this talk to the "The Mobile Company" (http://themobilecompany.com/) developers on April 3th, 2013.

69d023a153d741f7006b3ec9552164f8?s=128

Javi Lorbada

April 03, 2013
Tweet

Transcript

  1. Javi%Lorbada

  2. 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.

  3. 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.

  4. 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.

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

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

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

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

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

  10. Git%is%Fast

  11. 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?

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

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

    Master
  14. 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
  15. Git%Mac%Clients •%Github •%Tower •%Gitbox •%GitX%(L) •%SourceTree Git%Windows%Clients •%Github •%Git%Extensions •%GitOCola

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

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