Top Banner
Distributed Version Control Systems A Guide For The Perplexed
29

Distributed Version Control Systems: A Guide For The Perplexed

May 17, 2015

Download

Technology

Alan Stevens

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Distributed Version Control Systems: A Guide For The Perplexed

Distributed Version Control Systems

A Guide For The Perplexed

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

Page 3: Distributed Version Control Systems: A Guide For The Perplexed

Why do we need

VCS?

Page 4: Distributed Version Control Systems: A Guide For The Perplexed

What VCS have you

used?

Page 5: Distributed Version Control Systems: A Guide For The Perplexed

What were the benefits and

shortcomings of those systems?

Page 6: Distributed Version Control Systems: A Guide For The Perplexed

Why was DVCS

created?

Page 7: Distributed Version Control Systems: A Guide For The Perplexed

DVCS OptionsGit: git-scm.com

Mercurial: mercurial.selenic.com

Bazaar: bazaar-vcs.org

Page 8: Distributed Version Control Systems: A Guide For The Perplexed

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

Page 9: Distributed Version Control Systems: A Guide For The Perplexed

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

Jeff Atwood

Page 10: Distributed Version Control Systems: A Guide For The Perplexed

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

Joel Spolsky

Page 11: Distributed Version Control Systems: A Guide For The Perplexed

It puts the developer in

control.

Page 12: Distributed Version Control Systems: A Guide For The Perplexed

What’s the workflow?

Page 13: Distributed Version Control Systems: A Guide For The Perplexed

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*

Page 14: Distributed Version Control Systems: A Guide For The Perplexed

That’s all you need to know.

Page 15: Distributed Version Control Systems: A Guide For The Perplexed

Here are two neat ideas you don’t need to

know.

Page 16: Distributed Version Control Systems: A Guide For The Perplexed

Branch and Merge

Page 17: Distributed Version Control Systems: A Guide For The Perplexed

Rebase!

Page 18: Distributed Version Control Systems: A Guide For The Perplexed

Command Line vs. GUI

Page 19: Distributed Version Control Systems: A Guide For The Perplexed

GitExtensions

Page 20: Distributed Version Control Systems: A Guide For The Perplexed

Tortoise HG

Page 21: Distributed Version Control Systems: A Guide For The Perplexed

SourceTree

Page 22: Distributed Version Control Systems: A Guide For The Perplexed

GitHub for Windows

Page 23: Distributed Version Control Systems: A Guide For The Perplexed

chocolatey.org

Page 24: Distributed Version Control Systems: A Guide For The Perplexed

Hosting

Page 25: Distributed Version Control Systems: A Guide For The Perplexed
Page 26: Distributed Version Control Systems: A Guide For The Perplexed
Page 27: Distributed Version Control Systems: A Guide For The Perplexed

Resources

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

Page 28: Distributed Version Control Systems: A Guide For The Perplexed

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

Joel Spolsky

Page 29: Distributed Version Control Systems: A Guide For The Perplexed