distributed version control systems: a guide for the perplexed
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: [email protected]
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