TLDR : git log origin/master --no-merges
size bir ana kayıt günlüğü verir ve birleştirilmiş herhangi bir kaydetmeyi hariç tutar (bu durumda x, y, z)
Orijinal Puanlar
Bunu yapmanın --first-parent
, belirli durumlarda hangisinin yardımcı olacağına dayanmayan başka bir genel yolu daha var .. şube dışlama filtrelerini kullanma
git log origin/topic ^origin/master
Bu size origin/topic
tüm işlemlerin origin/master
kaldırıldığı bir günlük verecektir .
--no-merges
İsteyebileceğiniz veya istemeyeceğiniz birleştirme işlemlerini gizleyecek olanları da ekleyebilirsiniz .
Başka bir kullanışlı ipucu, shortlog
bunun yerine log
size sürüm notları veya bir daldaki şeylerin iletişimi için kullanışlı olabilecek kısaltılmış bir özet verecek olanı kullanmaktır .
Güncelleme
Bunu tekrar okuduktan sonra, aslında benim yazdıklarımın neredeyse tersini isteyeceksiniz; ancak, master ve foo ( git log origin/master ^origin/foo
) üzerindeki her şeyi dışarıda bırakacaktır . Bununla birlikte, istediğiniz şeyi de alabilirsiniz (birleştirmelerin parçası olan tüm taahhütleri gizleyin)git log origin/master --no-merges
D
veZ
birleştirilmiş şube parçasıydı?