Version control & GitHub

Explaining different version control systems, what their purpose is, and how they work.

Go fullscreen: ⌃⌥F

Version control & GitHub

Permanent undo & collaboration

  • Permanent undo states—move backwards in time
  • Opt into the undo—not automatic
  • Keep track what each other did
  • Automatically merge changes

Solutions

  • Dropbox — for big files, Creative Suite
  • InVision — for UX files, wireframes, prototypes
  • GitHub — for code, text files, small images

Why GitHub?

  • Used professionally
  • Can see each other’s code & comment
  • Free web hosting

Process

  1. Make the repository
  2. Clone to your computer
  3. Write code, test & make commits
  4. Sync to GitHub
  5. See live website

Commit to save state

  • Commit when you’ve done something significant
    Add the navigation; Style the footer; Fix a bug
  • Every commit needs a message describing what changed
  • Commit often!
  • It’s a habit you’ll have to form

Commit message best practices

  1. Minimum 3 words & 10 characters
  2. Proper spelling & grammar
    Capital starting letter, no period
  3. Must start with an imperative verb
    Create, Fix, Add, Solve, etc.

Pretend every commit starts with the phrase: “This commit will…”

Good commit messages

“Create the basic index.html”

“Add the navigation”

“Fix a bug in the footer”

Bad commit messages

“asdf”

“chanegs”

“Commit”

“Fix”

Fork + Markbot

For the automatic marking system

  1. Fork my repository into your account
  2. Commit & sync
  3. Drop the folder into Markbot
  4. See your automated tests pass/fail
  5. When they pass, submit it for grades
Start

Version control & GitHub

Explaining different version control systems, what their purpose is, and how they work.