Concepts, Tips, & Tricks

Git Concepts

Distributed

Trees

Immutability

Rebase

Interactive Rebase

Making it Simple to

Pick Up Where You Left Off

  • Use branches to separate features
  • Don't be afraid to commit (you don't have to push)

Avoid Lost Changes

  • Don't be afraid to commit
  • Anything that has been committed can be retrieved
  • If necessary, you can use a tool to recover lost commits

Keep Changes in Sync

  • Fetch (don't pull) early & often
  • Use a nice merge tool (consider SemanticMerge)
  • Turn on rerere & autostash
  • Use short-lived feature branches
  • Feel free to abort a merge/rebase and try again (make sure you turn off Gulp & friends)

Properly Manage Releases

  • Use a build server (e.g. TeamCity, AppVeyor, VSTS)
  • Use tags (immutable branches) to indicate which commit a release was based on
  • Wait until the actual release to create the tag

GitHub

Keyboard

  • ? — Review these shortcuts
  • T — File finder
  • Y — Canonical URL
  • L — Go to Line
Made with Slides.com