Slide 1

Slide 1 text

Distributed Version Control Systems A Guide For The Perplexed

Slide 2

Slide 2 text

Thanks For Listening! Slides: speakerdeck.com/alanstevens Email/IM: [email protected] Website: halanstevens.com Twitter: @alanstevens

Slide 3

Slide 3 text

Why do we need VCS?

Slide 4

Slide 4 text

What VCS have you used?

Slide 5

Slide 5 text

What were the benefits and shortcomings of those systems?

Slide 6

Slide 6 text

Why was DVCS created?

Slide 7

Slide 7 text

DVCS Options Git: git-scm.com Mercurial: mercurial.selenic.com Bazaar: bazaar-vcs.org

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

It puts the developer in control.

Slide 12

Slide 12 text

What’s the workflow?

Slide 13

Slide 13 text

Mercurial 1. hg pull 2. {do work} 3. hg addremove 4. hg status 5. hg commit -m “foo” 6. hg pull 7. hg push 8. *repeat* Git 1. 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*

Slide 14

Slide 14 text

That’s all you need to know.

Slide 15

Slide 15 text

Here are two neat ideas you don’t need to know.

Slide 16

Slide 16 text

Branch and Merge

Slide 17

Slide 17 text

Rebase!

Slide 18

Slide 18 text

Command Line vs. GUI

Slide 19

Slide 19 text

GitExtensions

Slide 20

Slide 20 text

Tortoise HG

Slide 21

Slide 21 text

SourceTree

Slide 22

Slide 22 text

GitHub for Windows

Slide 23

Slide 23 text

chocolatey.org

Slide 24

Slide 24 text

Hosting

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Resources hginit.com think-like-a-git.net help.github.com

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

No content