Two and three dots in difference specs#

Thanks to Yarik Halchenko for this explanation.

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), while:

git diff master...topic

would output just differences in the topic branch (i.e. only A, B, and C).