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

Source Control Management 101

Source Control Management 101

A introduction to source control management

Filipe Moura

October 13, 2013
Tweet

More Decks by Filipe Moura

Other Decks in Programming

Transcript

  1. DISCLAIMER The names and scenarios presented here are purely fictional.

    Any similarity to real people or scenarios is purely a coincidence. No animals were harmed during the making of this Workshop. 3
  2. 8

  3. SOURCE CONTROL AKA VERSION CONTROL AKA REVISION CONTROL When you

    mess up you can easily get back to a previous working version. 9
  4. SOURCE CONTROL IN IT? Is only for geeks & programmers?

    NO… It’s for everyone (even if they don’t know what they doing) 12
  5. ALMOST EVERYONE USE A SOURCE CONTROL SYSTEM METHOD You’ve probably

    used your own version control system method without realizing it. Recognize this? • My Document.doc • My Document - Copy.doc • My Document – Copy(2).doc • My Document - Copy(3).doc • My photo.jpg • My photo2.jpg • My photo New.jpg 13
  6. ALMOST EVERYONE USE A SOURCE CONTROL SYSTEM METHOD You’ve probably

    used your own version control system method without realizing it. Recognize this? • My Document.doc • My Document - Copy.doc • My Document – Copy(2).doc • My Document - Copy(3).doc • My photo.jpg • My photo2.jpg • My photo New.jpg Is this method the best solution? 14
  7. WHY I MUST USE A SOURCE CONTROL SYSTEM? WHY DO

    I NEED A SOURCE CONTROL SYSTEM? 15
  8. TERMINOLOGY Repository Server Client Trunk/Main Head Revision Baseline Change set

    Branch Push Pull Add Revert Check Out/In Check Message Changelog History Diff Merge Update Commit Conflict Resolve Tag 24
  9. TYPES OF VERSION CONTROL SYSTEMS (VCS) The two most famous

    types of version control systems are: • Centralized version control system (CVCS) • Distributed or decentralized version control system (DVCS) 33
  10. QUICK COMPARISON MATRIX File CVCS DVCS Networking None Centralized Distributed

    Operations One file per time Multi-file Changesets 39
  11. QUICK COMPARISON MATRIX File CVCS DVCS Networking None Centralized Distributed

    Operations One file per time Multi-file Changesets Concurrency Locks Merge before commit Commit before merge 40
  12. QUICK COMPARISON MATRIX File CVCS DVCS Networking None Centralized Distributed

    Operations One file per time Multi-file Changesets Concurrency Locks Merge before commit Commit before merge Examples RCS, SCCS CVS, SourceSafe, Subversion,Team Foundation Server Bazaar, Git, Mercurial 41
  13. 43

  14. 44

  15. 45

  16. 46

  17. 47

  18. 48

  19. 49

  20. 51

  21. 52