Source Code Management Basics

5,534 views
5,343 views

Published on

Basic ideas and principles to source code management

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
5,534
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
50
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

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?

×