Bu görüntüleri zaten oluşturduğumdan, onları başka bir cevapta kullanmaya değer olabileceğini düşündüm, ancak ..(nokta-nokta) ve ...(nokta-nokta-nokta) arasındaki farkın tanımı esasen manojlds cevabı ile aynıdır .
Komut git difftipik olarak yalnızca, komut grafiğinde tam olarak iki nokta arasındaki ağacın durumları arasındaki farkı gösterir. İçindeki ..ve ...gösterimlerinin git diffanlamları:

Başka bir deyişle, git diff foo..bartam olarak aynıdır git diff foo bar; Her iki sana iki dal uçlarına arasındaki farkı gösterecektir foove bar. Öte yandan, git diff foo...barsize iki şube "birleştirme tabanı" ve ucu arasındaki farkı gösterecektir bar. "Birleştirme tabanı" genellikle bu iki dal arasında ortak olan son işlemdir, bu nedenle bu komut size ortalama barolarak yapılan her şeyi yok sayarken çalışmanızın getirdiği değişiklikleri gösterecektir foo.
Hakkında bilmeniz gereken tek şey ..ve ...gösterimler git diff. Ancak...
... burada yaygın bir karışıklık kaynağı, bir komutta kullanıldığında, bir veya daha fazla argüman olarak bir dizi taahhüt beklediği anlamına gelen ..ve ...oldukça farklı şeyler anlamına gelir git log. (Bu komutların tümü git rev-list, argümanlarından bir taahhüt listesini ayrıştırmak için kullanılır .)
Anlamı ..ve ...için git logaşağıda grafik olarak gösterilebilir:

Yani, git rev-list foo..barsize dalda barda olmayan her şeyi gösterir foo. Öte yandan, git rev-list foo...bargösteriler size ya tüm kaydedilmesini foo veya bar ancak ikisini birden . Üçüncü diyagram sadece iki dalı listelerseniz, bunlardan birinde veya her ikisinde bulunan taahhütleri aldığınızı gösterir.
Her neyse, biraz kafa karıştırıcı buluyorum ve bence taahhüt grafiği diyagramları yardımcı oluyor :)
Only Yalnızca "tipik" diyorum çünkü birleştirme çakışmalarını çözerken git diffsize üç yönlü birleşme gösterecektir.
..ve...içindeki anlamıgit diffve farklı anlamlarını gösterirgit log.