Git and Distributed Source Control

Save All The Things!

We Will Cover

  • What is traditional source control?
  • How does distributed differ?
  • Why Git?
  • Git at Ai

What is source control?

  • Central location to store code
  • Version files
  • Branching: Release and feature management

Why do we need source control?

Why do we need source control?

Backups

Backup

Why do we need source control?

Redundancy

Sandy

Why do we need source control?

Parallel Coding

Spooning

Why do we need source control?

Deploys

Cowboy

Traditional Source Control

Traditional

Traditional Source Control

  • svn update
  • svn commit
  • svn merge
  • svn copy

Traditional Source Control

Branching and Merging

pumpkin

Distributed Source Control

Distributed

Distributed Source Control

  • Local Commits
  • True Branching
  • Smarter Merging
  • Staging

Distributed Source Control

  • git pull
  • git add
  • git commit
  • git branch
  • git checkout
  • git merge
  • git remote

Why Git?

  • Easy
  • Most widely used
  • Wider library of available hooks
  • More code review tools

Demo!

try.github.com

octocat

git.my.ai

octocat

Gitorious setup

  1. Developer sets up keys (new, or reuse Amazon/Github)
  2. Have Rush set up a new repo
  3. Initial commit or clone

Tools

Branching Strategy

  • Initial dev on master
  • Post launch, prod lives on master
  • Each new release gets its own branch

Helpful links

Questions?

inspector