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


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Source code management

  1. 1. Source Code Management Widoyo <>
  2. 2. Agenda Software Characteristic Software Changes Traditional Method Version Control Distributed Version Control Centralized Version Control Branching Common Term in SCM Daily use of git
  3. 3. Software Characteristic Software running well on a certain condition Software are easy to break Software are easy to modify Software are an abstract things Bugs may be found at later time
  4. 4. Software Changes New Features Found Bugs Environment changes Request to change
  5. 5. Traditional Method Save into New name or Save the old one into archive name Making new directory to hold the old one Problems: No standard way to log changes Difficult to identify which the fresh (newest) one More complicated when working on Team coba-asli.php /aplikasi-v1/ /aplikasi-v2/ mycode-060908.rb mycode-020908.rb
  6. 6. Version Control To log changes To prevent overwriting each other To tag a set of software code, release code As a code repository
  7. 7. Centralized Version Control Code repository are reside on a central place Ideal for Team that working on the same project Product examples: Concurrent Version System (CVS) Subversion (SVN) Source Safe?
  8. 8. Distributed Version Control Repository are placed any where Ideal for individual developer or small project Product examples (most of them are centralized too): GIT Bazaar Mercurical
  9. 9. Branchinga line of development that exists independently of another line,yet still shares a common history
  10. 10. Common Term in SCM Repository --Storage of current and historical code Check-in / Commit -- commit changes, write log Check-out -- getting the source Branch -- making different line of development Conflict, Resolve --changes are made on the same source Baseline, Trunk, Master -- Main line of development Tag -- labeling snapshot of source Log --notes given by developer on changes Head -- the most recent commit Revision, Version --state at point in time Import -- copying local directory tree into repository Export --similar to checkout without metadata ofversion control
  11. 11. Daily Use of GIT Initiate repository import project (file(s) or Directory) checkout code - test iteration Commit - writing logs here Tag - labeling Branch Merge Log Diff
  12. 12. Starting Using git Install, ONLY available on Linux:( Write your code Initiate Repository Add your code into repo code-compile-test Commit the changes Tag and ... JUST Use it!
  13. 13. < 10 minutes git showmy hello Project
  14. 14. Further Reading Thank you