Team Workflow

Some images in this slide deck are from Pro Git under a Creative Common license (Attribution, Noncommercial, Share alike).

Good Citizenship

  • New feature → new branch
  • Descriptive branch names
  • Descriptive commit messages!
  • ... Trust me. You'll thank me at 2am one day

Team Structures

"The Old Skool"

"The Github"

"The Empire"

Rebasing

Fixing with a merge...

Or with a rebase...

And a FF merge

Why might rebasing be good?

  • Make integration lead's life easier
  • Keep in sync with master
  • Create linear history

A git history this complicated isn't for everyone

Why might rebasing be bad?

  • You're erasing history
  • You're "wormholing" to another point in the tree -- what if other people were tracking your branch?