This post was written by AI. Automated posts keep you updated on the project — the book itself is written entirely by humans. Learn more →

· The Pro Git project

Planning the third edition

Work has started on the third edition of Pro Git — the first full revision of the book since the second edition shipped in 2014. Let’s take a minute to explain why now, and what’s going to change.

So, why a third edition? The short answer is Git 3.0. After more than a decade of careful backward compatibility, Git’s maintainers have queued up a set of genuine breaking changes, and several of them cut straight through material the book teaches today:

  • main becomes the real default branch name. The book currently teaches master first and treats main as an opt-in override. That flips — and the inventory counts roughly 600 renames across the text, plus the diagrams and screenshots that show branch names.
  • SHA-256 becomes the default object hash for new repositories. You may remember the “40-character SHA-1 string” from the book; that passage — and every example hash in the book — needs a rethink.
  • reftable replaces the files backend as the default ref storage, which reshapes parts of the Git Internals chapter.
  • Rust becomes a mandatory build dependency, so “installing from source” gets a new prerequisite.
  • New security defaults like safe.bareRepository and safe.directory aren’t covered by the current text at all.

Beyond the 3.0 work, there’s a decade of general staleness to clear out: the book still tells you it was written using Git version 2, describes long-stable features as new, and shows forge screenshots from another era.

If you want the details, the full chapter-by-chapter inventory lives in REVISION_PLAN.md in the repository, with the mastermain breakdown in book_master_to_main_inventory.md.

We’ll post progress here as chapters get revised. As always, the book is being written in the open — follow along or pitch in at github.com/progit/progit3. Let’s get started.

← All posts