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

Git

 Git

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.

http://houopendev.net

Ben Scheirman

March 04, 2012
Tweet

More Decks by Ben Scheirman

Other Decks in Programming

Transcript

  1. git
    Ben Scheirman

    View Slide

  2. what scm tool are
    you using?

    View Slide

  3. what scm tool are
    you using?
    Subversion? TFS? VSS?
    CVS? Perforce?
    git? hg?
    MKS?
    FSA?

    View Slide

  4. TFS

    View Slide

  5. TFS

    View Slide

  6. TFS
    Team Frustration Server?

    View Slide

  7. TFS

    View Slide

  8. TFS
    Totally Fucking Stupid?

    View Slide

  9. TFS

    View Slide

  10. TFS
    Tempt Fate & Suffer?

    View Slide

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

    View Slide

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

    View Slide

  13. stop me if this
    sounds familiar

    View Slide

  14. learning git changed
    the way I develop
    software

    View Slide

  15. why git?

    View Slide

  16. git is fast

    View Slide

  17. git is distributed

    View Slide

  18. git is forgiving
    $ git commit --amend

    View Slide

  19. git probably matches your
    workflow

    View Slide

  20. View Slide

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

    View Slide

  22. Branching

    View Slide

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

    View Slide

  24. Branching is lightweight

    View Slide

  25. Branching is lightweight

    View Slide

  26. Branching is lightweight

    View Slide

  27. Branching is lightweight

    View Slide

  28. Branching is lightweight

    View Slide

  29. merge versus rebase

    View Slide

  30. merge versus rebase
    Merge

    View Slide

  31. merge versus rebase
    Merge
    Rebase

    View Slide

  32. Never rebase a public
    branch

    View Slide

  33. git demo
    branch
    merge
    rebase

    View Slide

  34. View Slide

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

    View Slide

  36. Merge (no fast-forward)

    View Slide

  37. Hotfixes

    View Slide

  38. View Slide

  39. contribute to open
    source projects
    $ git clone [email protected]/username/project.git
    Fork & Clone the project
    $ git remote add upstream http://github.com/user/project.git
    Add a remote called "upstream"

    View Slide

  40. Thank You
    Credits
    ‣http://whygitisbetterthanx.com
    ‣http://nvie.com/posts/a-successful-git-
    branching-model/
    ‣http://progit.org/

    View Slide