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

Post on 14-Jan-2016

213 views 0 download

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

Version Control

Reducing risk with version control

Jon Austinjon@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