Version Control and how it will save your life

1 / 22
About This Presentation
Title:

Version Control and how it will save your life

Description:

A quick explanation and demonstration of source control and its ... Developed by Canonical (Ubuntu developers) Decentralised. Works on Windows, Linux and Mac ... – PowerPoint PPT presentation

Number of Views:167
Avg rating:3.0/5.0
Slides: 23
Provided by: craig62

less

Transcript and Presenter's Notes

Title: Version Control and how it will save your life


1
Version Controland how it will save your life
  • 10-minute crash-course into the benefits of
  • source code management

Craig Mason Stasis Media CraigMason.co.uk /
StasisMedia.com
2
Scope of this picnic talk
  • A quick explanation and demonstration of source
    control and its benefits for the complete
    beginner and amateur.
  • What problems source control can help to resolve
    for the individual and the business
  • Overview of the different VC software available

3
What is version control?
  • Managing the history and changes of a set of
    files
  • Collaborating on a set of documents with a common
    document store
  • Branching and merging of ideas in separate
    lines of development
  • Get out of jail FREE card

4
Quick example of the problem
2
1
3
4
Conflict (
5
Solutions?
  • Just download the files first!
  • Never happens
  • Keep backup folders (2009-04-24_site-version-1)?
  • Quickly gets messy
  • Doesnt allow for small experiments
  • Hard to synchronise
  • Only allow one person to work on the files?
  • Not practical

6
Version Control!
  • Individual
  • Keep a log of all changes you have made
  • Tag specific points in history (think
    releases)
  • Branch the trunk to experiment with ideas
  • Easily revert to any point in time
  • Synchronise between different machines
  • Team
  • As individual plus
  • Allow multiple developers to work on the same
    project
  • See where conflicts arise and easily rectify them
  • Never overwrite anybody elses code!
  • Blame the people who break things ?

Thanks to http//www.slideshare.net/phpcodemonkey
/introduction-to-version-control-presentation
7
Example using Bazaar
8
(No Transcript)
9
(No Transcript)
10
(No Transcript)
11
(No Transcript)
12
  • Using Olive branch manager to view the
    difference since last commit comes with bzr
    package on Ubuntu

13
History viewer
14
Other important features
  • Branching the project
  • Allows us to work on an experimental set of
    features whilst not disrupting the main line,
    or trunk of development.
  • Collaboration
  • Multiple developers working on the same project,
    or branches
  • Release control
  • A working version can be tagged and released to
    production. If theres a problem, we can quickly
    rollback to the previous version or tag.

15
Types of Version Control software
  • Subversion (SVN)
  • Been around since 2000 as a competitor to CVS.
  • Centralised and needs a server to work properly
  • Widely supported by many applications and
    companies
  • Widely used GUI (TortoiseSVN)
  • Bazaar (Bzr)
  • Developed by Canonical (Ubuntu developers)
  • Decentralised
  • Works on Windows, Linux and Mac
  • GUI available for Linux Windows

16
  • Git
  • Very similar to Bazaar
  • Used by developers of Linux kernel, Perl, GNOME,
    Samba, VLC, Ruby on Rails
  • No native Windows build
  • I will probably be moving to Git full-time

17
Centralised
Source http//betterexplained.com/articles/intro-
to-distributed-version-control-illustrated/
18
Distributed
Source http//betterexplained.com/articles/intro-
to-distributed-version-control-illustrated/
19
Not just for code!
20
Version Control for designers!
  • Visual diff uses external tool, BeyondCompare
  • Same tool is also very useful for 3-way merging
  • http//www.scootersoftware.com/shop.php
  • Use code bamboojuice for 20 discount
  • (Has helped save my life)

21
Resources
  • Slides based on a presentation by my good friend
    Mark Sailes
  • http//www.svn-checkout.co.uk
  • Reading
  • http//en.wikipedia.org/wiki/Version_control
  • http//betterexplained.com/articles/a-visual-guide
    -to-version-control/
  • http//betterexplained.com/articles/intro-to-distr
    ibuted-version-control-illustrated/
  • Software
  • http//subversion.tigris.org/
  • http//git-scm.com/
  • http//bazaar-vcs.org/

22
Thank you!
  • Craig.Mason_at_StasisMedia.com
  • http//www.StasisMedia.com
Write a Comment
User Comments (0)