Programming in Teams And how to manage your code.

17
Programming in Teams And how to manage your code

Transcript of Programming in Teams And how to manage your code.

Page 1: Programming in Teams And how to manage your code.

Programming in TeamsAnd how to manage your code

Page 2: Programming in Teams And how to manage your code.

Agenda What is revision control?

Available choices

Github

BitBucket

Team Foundation Service (TFS)

TFS Demonstration

Page 3: Programming in Teams And how to manage your code.

Working in a team?Most commercial programming is done in teams

To simplify project management and enforce accountability, version control is used

Page 4: Programming in Teams And how to manage your code.

What is revision control?WITHOUT

If a team creates a bug, it could affect how your code too

You could loose old code or features that were removed

Anyone could add bugs/features to a project and no one would know

WITH

You are isolated on your own branch, so you know who did it

You can go back and see all old version of your project

Someone has to approve your code submission

Page 5: Programming in Teams And how to manage your code.

Lingo The Basics Repository – the database

holding your code Main/Trunk – This is the primary

code Working set – A file you checked

out Tags – the name of the project

stage

Actions Check out – a downloaded file Check in – uploading the file Update – synchronizes your code Revert – toss the changes you

made

More complicated Branch – create a separate copy

of a file or folder Diff – (I bet you know) Merge – combining branches

Page 6: Programming in Teams And how to manage your code.

But how does one “branch”?

Page 7: Programming in Teams And how to manage your code.

That’s how Linux is made(kinda)

Page 8: Programming in Teams And how to manage your code.

Some of the Options

33%

9%

13%6%

5%

12%

22%

Version Control Market Share 2009

Subversion(SVN)Team Foundation ServerVisual SourceSafePerforceClearCaseCVSOther

Technologies Git Subversion Mercurial Team Foundation

In the cloud GitHub Google Code BitBucket Team Foundation Service

Page 9: Programming in Teams And how to manage your code.

Local Revision Control Open Source Solutions

TortoiseSVN GUI for SubVersioN Includes submission graphing

Git Staging Area Commits Verified Integrity

Page 10: Programming in Teams And how to manage your code.

GitHub Free Unlimited public repositories Unlimited public collaborators

Paid ($7-$200 /month) Same as free, but with limited

number of private repositories

Features Team permissions Read-only, read-write, etc. Wikis Issue Tracking Assigning tasks Easy bug reporting Code Review Comment code in GitHub See code changes

Page 11: Programming in Teams And how to manage your code.

BitBucket Free Unlimited public and private

repositories Up to 5 users

Paid ($10 - $200 /month) More users, from 10 to

unlimited

Mercurial or Git

Page 12: Programming in Teams And how to manage your code.

Team Foundation Service Integrated into Visual Studio 2012

Support for Eclipse, Xcode

Pricing Free for 5 users, unlimited

projects

Agile Development Support

Build and Test Support

Page 13: Programming in Teams And how to manage your code.

Other ProvidersGOOGLE CODE

For Open source

2Gb of free hosting

Subversion, Mercurial, or Git support

SOURCE FORGE

Unlimited bandwidth

Analytics

Issue Tracking

Open Source

Page 14: Programming in Teams And how to manage your code.

Development StylesAGILE DEVELOPMENT STANDARD WATERFALL

METHOD

Page 15: Programming in Teams And how to manage your code.

Queue the Demo…

Page 16: Programming in Teams And how to manage your code.

What did we learn? Why revision control is important

Why you should probably be using it

Where to go if you do decide to use it

Page 17: Programming in Teams And how to manage your code.

SELECT questionFROM studentWHERE confused