Dois e três pontos em especificações de diferença #

Obrigado a Yarik Halchenko por esta explicação.

Imagine uma série de commits A, B, C, D... Imagine que existem dois branches, topic e main . Você desviou o tópico de main quando main estava no commit 'E'. O gráfico dos commits fica assim:

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

Então:

git diff main..topic

produzirá a diferença de G para C (ou seja, com efeitos de F e G), enquanto:

git diff main...topic

produziria apenas diferenças na ramificação do tópico (ou seja, apenas A, B e C).