Version Control Reducing risk with version control Jon Austin [email protected].

11
Version Control Reducing risk with version control Jon Austin [email protected]

Transcript of Version Control Reducing risk with version control Jon Austin [email protected].

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

Version Control

Reducing risk with version control

Jon [email protected]

Page 2: 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

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

Risk Reduction

Distributed Code Base Central Repository Feature Retrieval

Do not forget to perform scheduled backups of your repository!

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

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.

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

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

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

Personal Time Machine

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

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

VCS Choices

SubVersion Stable and widely used Reasonably straightforward Cross Platform

Git Local change tracking

Many more

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

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)

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

Terminology

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

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

Have a Process

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

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

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