110 likes | 123 Views
Discover the benefits of version control, including risk reduction, facilitating group projects, enabling experimentation, and acting as a personal time machine. Learn about popular VCS choices, terminology, and how to use version control for your projects. Also, explore free hosting resources for your repositories.
E N D
Reducing risk with version control Version Control Jon Austin jon@jonhappens.com
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 scheduled backups of your repository!
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 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 that? Ask the log! • Why did I change that? Ask the log!
VCS Choices • SubVersion • Stable and widely used • Reasonably straightforward • Cross Platform • Git • Local change tracking • Many more
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
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 • Free Private • Assembla - https://www.assembla.com • Free Private • Version Shelf - https://www.versionshelf.com • Free Student/Teacher accounts