GitHub Made Crystal Clear · chapter 3: The GitHub flow: branch, pull request, merge

One pull request, three buttons, three histories

2026-10-18

The starting graph is identical in all three cases; only what reaches main differs.

Below: the paragraph from the book that builds this idea, then the diagram itself (Figure 3.2), and a recap. About a minute of reading.

The merge box hides a real decision behind a dropdown. GitHub offers three merge methods, and they produce three genuinely different commit histories from the same pull request. Which of them you can use is a repository setting: each method can be allowed or disallowed independently under Settings, then Pull Requests. Figure 3.2 draws the same starting graph, then what main looks like after each button.

Figure 3.2: One pull request, three buttons, three histories. The starting graph is identical in all three cases; only what reaches main differs.
Figure 3.2: One pull request, three buttons, three histories. The starting graph is identical in all three cases; only what reaches main differs.

Recap

  • The idea: The starting graph is identical in all three cases; only what reaches main differs.
  • The picture: Figure 3.2, from chapter 3 ("The GitHub flow: branch, pull request, merge") of GitHub Made Crystal Clear.
  • Go deeper: the chapter builds this step by step, with recipes and sources at the end.

This diagram is one of many in GitHub Made Crystal Clear.

Every chapter opens with the gist, draws the hard ideas, and ends with recipes and sources.

Get the book

All diagrams