Distributed Version Control Systems: A Guide For The Perplexed

Post on 17-May-2015

443 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

In this session you will learn what Distributed Version Control is, the benefits of DVCS, the primary DVCS platforms and their relative benefits and shortcomings. Much of the discussion around version control currently centers around Distributed Version Control Systems (DVCS). More tools, web sites and platforms continue to enable DVCS access and interaction. For many developers and teams, DVCS remains unfamiliar. This session aims to make attendees familiar with DVCS so they can make informed choices and begin deeper investigation of DVCS features and benefits.

Transcript

Distributed Version Control Systems

A Guide For The Perplexed

Thanks For Listening!Slides: speakerdeck.com/alanstevens

Email/IM: alanstevens@gmail.com

Website: halanstevens.com

Twitter: @alanstevens

Why do we need

VCS?

What VCS have you

used?

What were the benefits and

shortcomings of those systems?

Why was DVCS

created?

DVCS OptionsGit: git-scm.com

Mercurial: mercurial.selenic.com

Bazaar: bazaar-vcs.org

What are the benefits of VCS?• Disposable Experimentation

• Each working copy effectively functions as a remote backup

• Absolute control over the flow of local changes

• Offline accessibility

• Stays out of the way

• Common operations are very fast

• Easier merge operations

“If I had to pick one word to summarize the benefits of DVCS, I’d say that word is flexibility.”

Jeff Atwood

“you can branch any time your organizational goals require it, because merging back will be a piece of cake.”

Joel Spolsky

It puts the developer in

control.

What’s the workflow?

Mercurial1. hg pull

2. {do work}

3. hg addremove

4. hg status

5. hg commit -m “foo”

6. hg pull

7. hg push

8. *repeat*

Git1. git pull

2. {do work}

3. git add -A

4. git status

5. git commit -m “foo”

6. git pull

7. git push

8. *repeat*

That’s all you need to know.

Here are two neat ideas you don’t need to

know.

Branch and Merge

Rebase!

Command Line vs. GUI

GitExtensions

Tortoise HG

SourceTree

GitHub for Windows

chocolatey.org

Hosting

Resources

hginit.comthink-like-a-git.nethelp.github.com

“possibly the biggest advance in software development technology in ... ten years”

Joel Spolsky

top related