Demystifying git: from SHA to interactive rebase
Image credit - Gidi Fisher, Artcore media
Abstract
When I started using git
7 years ago, I was baffled by its mysterious jargon, and intimidated by the occasional French-revolution threat You are in detached HEAD
. WAT?
I do like my head attached, so I kept the secret industry best practice: stick to add
, commit
, pull
and push
, and if anything goes wrong - copy the repo to another dir, pray, and apply some online black magic. This sucks. I decided to learn git from first principles.
In this session I will explain the git fundamentals: file structure, SHAs and objects, commits, refs and branches, up to the git interactive rebase. After this session, you should be able to understand git man pages, error messages, and repo states - without losing your HEAD.
Talk Format
- Regular (25-40 minutes)
- Optional accompanying workshop (30-120 minutes)
Slide deck
Delivered
- 2019-05-15 Delivered at Outbrain.com with a workshop, Youtube Video (English), Facebook post
- 2019-06-17 Reversim Summit, Israel’s biggest software conference. Agenda, Youtube Video (Hebrew)
- 2019-2020 Delivered numerous times at Wix.com (my employer) to various engineering groups
Topics covered
- The problem: git jargon is hard, developers tick to the basics
- Explaining the fundamentals: Trees, Objects, References
- Understanding Commits, Branches, Merges, Rebases and Interactive rebases using the fundamentals
- How to practice? Introducing git-katas: A set of exercises for deliberate Git Practice