Version Control Reducing risk with version control Jon

  • Slides: 11
Download presentation
Version Control Reducing risk with version control Jon Austin jon@jonhappens. com

Version Control Reducing risk with version control Jon Austin jon@jonhappens. com

Why Version Control? Reduce Risk Facilitate Group Projects Allows Experimentation Personal Time Machine

Why Version Control? Reduce Risk Facilitate Group Projects Allows Experimentation Personal Time Machine

Risk Reduction Distributed Code Base Central Repository Feature Retrieval Do not forget to perform

Risk Reduction Distributed Code Base Central Repository Feature Retrieval Do not forget to perform scheduled backups of your repository!

Group Projects Every gets a “current” copy of the full source Can assist in

Group Projects Every gets a “current” copy of the full source Can assist in code review Don't Always have to wait on others Merging - Not as bad as it sounds. Conflicts - Can be as bad as it sounds. Blame – As fun as it sounds! Commit Often. . . But. . . NEVER commit broken code to the trunk.

Allows Experimentation Peace of mind I know my code is safe, what if I

Allows Experimentation Peace of mind I know my code is safe, what if I change x? Branching Try out new features without polluting trunk Play in a sandbox

Personal Time Machine Remember when. . . ? Whoops, I deleted X! Who changed

Personal Time Machine Remember when. . . ? Whoops, I deleted X! Who changed that? Ask the log! Why did I change that? Ask the log!

VCS Choices Sub. Version Stable and widely used Reasonably straightforward Cross Platform Local change

VCS Choices Sub. Version Stable and widely used Reasonably straightforward Cross Platform Local change tracking Git Many more

Usage Create your Repository Place your project in it Add your project (Registers it

Usage Create your Repository Place your project in it Add your project (Registers it with SVN) Ignore (bin folder, class files, private settings) Commit (Writes your changes to SVN) Check for Modifications (See what changed) Update (Pull the latest changes)

Terminology Working Copy Trunk Tag Branch & Switch Revert Patch Diff/Compare

Terminology Working Copy Trunk Tag Branch & Switch Revert Patch Diff/Compare

Have a Process Make your changes Update your working copy Resolve any conflicts Recompile

Have a Process Make your changes Update your working copy Resolve any conflicts Recompile and re-test! Commit your changes

Free Hosting Resources Rioux SVN - https: //riouxsvn. com Assembla - https: //www. assembla.

Free Hosting Resources Rioux SVN - https: //riouxsvn. com Assembla - https: //www. assembla. com Free Private Version Shelf - https: //www. versionshelf. com Free Student/Teacher accounts