Updates to the Git Commit Graph Feature
Nov 11, 2019Derrick Stolee

Summary
This post details the evolution and enhancements of Git's commit-graph feature. It explains how the commit-graph file format, generation numbers, and an iterative Kahn's algorithm improve the performance of commands like `git log --graph` by up to 650x. It also introduces the concept of incremental commit-graph files, forming a chain of smaller graph files to speed up updates after `git fetch` operations. Configuration settings like `core.commitGraph`, `gc.writeCommitGraph`, and `fetch.writeCommitGraph` are explained, with `core.commitGraph` and `gc.writeCommitGraph` being enabled by default in Git 2.24.0. The post also provides a DIY example for creating a commit-graph chain.