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

Git and Github: Version control for a happier you

Git and Github: Version control for a happier you

Lightning talk for McFullStack.

Wendy Liu

April 11, 2015
Tweet

More Decks by Wendy Liu

Other Decks in Technology

Transcript

  1. McFullStack :: April 11, 2015
    version control for a happier you
    and
    :

    View Slide

  2. about me

    View Slide

  3. about me
    - Wendy Liu

    View Slide

  4. about me
    - Wendy Liu
    - McGill Math & Computer Science '14

    View Slide

  5. about me
    - Wendy Liu
    - McGill Math & Computer Science '14
    - 4 years experience with Git

    View Slide

  6. about me
    - Wendy Liu
    - McGill Math & Computer Science '14
    - 4 years experience with Git
    - @dellsystem on Twitter

    View Slide

  7. what is git?

    View Slide

  8. what is git?
    version control system!

    View Slide

  9. backup_dec_1_2012.zip backup_dec_8_2012.zip backup_dec_15_2012.zip
    backup_dec_22_2012.zip backup_dec_29_2012.zip backup_jan_5_2012.zip
    backup_jan_12_2012.zip backup_jan_19_2012.zip backup_jan_26_2012.zip

    View Slide

  10. View Slide

  11. enter git.

    View Slide

  12. keeps track of changes
    enter git.

    View Slide

  13. keeps track of changes
    extremely flexible
    enter git.

    View Slide

  14. keeps track of changes
    extremely flexible
    developed by linus torvalds
    enter git.

    View Slide

  15. keeps track of changes
    extremely flexible
    developed by linus torvalds
    free and open source
    enter git.

    View Slide

  16. keeps track of changes
    extremely flexible
    developed by linus torvalds
    free and open source
    primarily command-line
    enter git.

    View Slide

  17. svn/perforce: local vs. remote
    comparison to other systems

    View Slide

  18. svn/perforce: local vs. remote
    hg/bzr: more control
    comparison to other systems

    View Slide

  19. svn/perforce: local vs. remote
    hg/bzr: more control
    cvs/rcs: no comparison
    comparison to other systems

    View Slide

  20. what git can do for you

    View Slide

  21. what git can do for you
    history

    View Slide

  22. what git can do for you
    history
    blame

    View Slide

  23. what git can do for you
    history
    blame
    better debugging

    View Slide

  24. what git can do for you
    history
    blame
    better debugging
    safe experimentation

    View Slide

  25. what git can do for you
    history
    blame
    better debugging
    safe experimentation
    easy deploys

    View Slide

  26. now: how git works

    View Slide

  27. repository
    directory on filesystem
    just metadata (changes)
    manual grouping of changes

    View Slide

  28. commit
    group of logically-related changes
    1 or more files (add/delete/modify)

    View Slide

  29. staging index
    CHANGES I WANT IN MY NEXT COMMIT
    ALL THE OTHER CHANGES

    View Slide

  30. git commit -m 'test'
    CHANGES I WANT IN MY NEXT COMMIT
    ALL THE OTHER CHANGES
    a new commit, with message 'test'

    View Slide

  31. CHANGES I WANT IN MY NEXT COMMIT
    ALL THE OTHER CHANGES
    the commit with message 'test'
    (nothing here yet)

    View Slide

  32. good commit messages
    (not this)

    View Slide

  33. good commit messages
    bit.ly/gitcommit

    View Slide

  34. website
    what is github?

    View Slide

  35. website
    collaborative coding, via git
    what is github?

    View Slide

  36. website
    collaborative coding, via git
    (mostly) free to use
    what is github?

    View Slide

  37. website
    collaborative coding, via git
    (mostly) free to use
    major part of developer ecosystem (esp. OSS)
    what is github?

    View Slide

  38. what github can do for you
    issue-tracking
    remote backups
    access your files from anywhere
    graphical, easy-to-use UI

    View Slide

  39. thanks!
    git-scm.com/book
    help.github.com

    View Slide