git log -p vs. git show vs. git diff
git log A B shows the history of both commits A and B (basically generating a union set of each commits’ history). Usually you want git log A..B, which can also be written as git log ^B A (show everything reachable from A, but not (^) from B). This range can also be empty (for …