Graphs and Git
O motivo de eu ter explicado um bom tanto sobre teoria dos grafos é que um repositório Git é um enorme grafo.

Commits do Git (visão simplificada)
Na maior parte do tempo em que você interage com o Git, você está mexendo com commits de um jeito ou de outro. Num nível superficial, um commit do Git consiste de duas coisas: (1) um ponteiro para o estado do seu código num dado momento, e (2) zero ou mais ponteiros para commits "pai".
(Dica: a palavra "ponteiro" significa que provavelmente você está falando de um grafo.)
Um commit do Git é um vértice num grafo, e cada um desses vértices pode apontar para outros vértices que vieram antes dele.
- About This Site
- Git Makes More Sense When You Understand X
- Example 1: Kent Beck
- Example 2: Git for Ages 4 and Up
- Example 3: Homeomorphic Endofunctors
- Example 4: LSD and Chainsaws
- The Internet Talks Back!
- Graph Theory
- Seven Bridges of Königsberg
- Places To Go, and Ways to Get There
- Nodes and Edges
- Attaching Labels to Nodes
- Attaching Labels to Edges
- Directed Versus Undirected Graphs
- Reachability
- Graphs and Git ←HEAD
- Visualizing Your Git Repository
- References
- The Reference Reference
- Making Sense of the Display
- Garbage Collection
- Experimenting With Git
- References Make Commits Reachable
- My Humble Beginnings
- Branches as Savepoints
- Use Your Targeting Computer, Luke
- Testing Out Merges
- Rebase From the Ground Up
- Cherry-Picking Explained
- Using 'git cherry-pick' to Simulate 'git rebase'
- A Helpful Mnemonic for 'git rebase' Arguments
- The End