# Two and three dots with diff¶

Note

Remember it’s different for git log - see Two and three dots with log and Pain in the dots

## Diff without dots¶

Two dots is the default in git diff. That is, if you do:

git diff master topic


what you’ll get is the same as if you asked for:

git diff master..topic


So git diff without dots is the same as Diff with two dots.

## Diff with two dots¶

Imagine a series of commits A, B, C, D... Imagine that there are two branches, topic and master. You branched topic off master when master was at commit ‘E’. The graph of the commits looks like this:

      A---B---C topic
/
D---E---F---G master


Then:

git diff master..topic


will output the difference from G to C (i.e. with effects of F and G).

## Diff with three dots¶

Using the three-dot form:

git diff master...topic


This shows the differences between master and topic starting at the last common commit.

In this case therefore it would output just differences in the topic branch (i.e. only A, B, and C). [1]

Footnotes

 [1] Thanks to Yarik Halchenko for this explanation.