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



A talk on how git changed the way I develop software. Of course, I had to throw in the obligatory TFS jokes in there, given the audience.

I gave this talk to the Houston Open Developers User Group on March 1st, 2012.



Ben Scheirman

March 04, 2012


  1. git Ben Scheirman

  2. what scm tool are you using?

  3. what scm tool are you using? Subversion? TFS? VSS? CVS?

    Perforce? git? hg? MKS? FSA?
  4. TFS

  5. TFS

  6. TFS Team Frustration Server?

  7. TFS

  8. TFS Totally Fucking Stupid?

  9. TFS

  10. TFS Tempt Fate & Suffer?

  11. all kidding aside... I don't love git because it's better

    than TFS...
  12. I love git because it's freaking awesome.

  13. stop me if this sounds familiar

  14. learning git changed the way I develop software

  15. why git?

  16. git is fast

  17. git is distributed

  18. git is forgiving $ git commit --amend

  19. git probably matches your workflow

  20. None
  21. git demo initialization staging files committing remotes push / pull

  22. Branching

  23. Branching Don't believe the FUD... branching is EASY

  24. Branching is lightweight

  25. Branching is lightweight

  26. Branching is lightweight

  27. Branching is lightweight

  28. Branching is lightweight

  29. merge versus rebase

  30. merge versus rebase Merge

  31. merge versus rebase Merge Rebase

  32. Never rebase a public branch

  33. git demo branch merge rebase

  34. None
  35. Feature Branches a.k.a "topic" branches

  36. Merge (no fast-forward)

  37. Hotfixes

  38. None
  39. contribute to open source projects $ git clone git@github.com/username/project.git Fork

    & Clone the project $ git remote add upstream http://github.com/user/project.git Add a remote called "upstream"
  40. Thank You Credits ‣http://whygitisbetterthanx.com ‣http://nvie.com/posts/a-successful-git- branching-model/ ‣http://progit.org/