Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Source Code Management Basics

6,281 views

Published on

Basic ideas and principles to source code management

Published in: Technology
  • Be the first to like this

Source Code Management Basics

  1. 1. Source Code Management Basics <ul>Chris Tankersley </ul>E-mail: [email_address] Twitter: @dragonmantank
  2. 2. Who Are You and Why Are You In My House? Chris Tankersley Been doing PHP for almost 8 years now Lots of projects no one uses released under the BSD license Contributer to the Habari Project
  3. 3. Source Code Management <ul><li>Just do it
  4. 4. Don't use VSS or CVS
  5. 5. Good Night! </li></ul>
  6. 6. Questions?
  7. 7. Source Code Management (For Reals) <ul><li>Change management for source code
  8. 8. Easy to use
  9. 9. Different kinds for different problems
  10. 10. Conflict Resolution
  11. 11. Saves your Sanity </li></ul>
  12. 12. SCM Basics <ul><li>Check out the code
  13. 13. Modify it
  14. 14. Download changes
  15. 15. Test it
  16. 16. Commit it </li></ul>
  17. 17. Pick your Poison <ul><li>Two different kinds – Centralized and Distributed
  18. 18. Centralized keeps main copy in one place
  19. 19. Everyone has a full copy in Distributed </li></ul>
  20. 20. Centralized SCMs <ul><li>CVS (Don't use, it's ancient)
  21. 21. Subversion
  22. 22. Rational Team Concert
  23. 23. Team Foundation Server
  24. 24. Visual Source Safe (Don't use under penalty of death) </li></ul>
  25. 25. Distributed SCMs <ul><li>git
  26. 26. Mercurial
  27. 27. Bazaar
  28. 28. Bitkeeper </li></ul>
  29. 29. Common Vocabulary <ul><li>Checkout </li><ul><li>Download a copy of the source to your machine </li></ul><li>Commit </li><ul><li>Saving your changes to the SCM </li></ul><li>Repository </li><ul><li>Place where the source code is kept </li></ul></ul>„ I checked out the code this morning and commited the changes back to the repository”
  30. 30. Demo Time!
  31. 31. Branching <ul><li>Copying the code to another section of the repository so that it doesn't interfere with other code
  32. 32. Like This! </li></ul>
  33. 33. Merging <ul><li>Taking two sets of code and making them one
  34. 34. Like This!
  35. 35. Conflict Resolution </li></ul>
  36. 36. Taking it from Here <ul><li>Commit hooks
  37. 37. Continuous Integration
  38. 38. Automatic Deployment </li></ul>
  39. 39. Questions?

×