Git günlüğünü birleştirme işlemleri olmadan görüntüleyin


89

Belirli bir kullanıcı tarafından yapılan taahhütleri görüntülemeye çalışıyorum ve kullanıcı tarafından yapılan tüm birleştirmeleri çıktıdan kaldırmak istiyorum. Bunu nasıl yapabilirim?

Kullanan bir kullanıcının işlemlerini kontrol edebilirim git log --author=<name>, ancak çıktıdaki birleştirme işlemlerini kaldıramıyorum.

Not: Söz konusu deponun iş akışında birleştirme çakışmaları meydana gelmez, tüm şubeler ana ile birleştirilmeden önce yeniden oluşturulur, böylece birleştirme taahhütlerini çıktıdan kaldırmak güvenlidir ve benzer şekilde, iki özellik dalı birbiriyle birleştirilmez. olasılık.


2
Ya birleşmenin bir çatışması varsa ve o bunu çözmek zorunda kalırsa?
Joe Phillips

2
@JoePhilllips Söz konusu reponun iş akışında olmaz, tüm şubeler master ile birleştirilmeden önce yeniden oluşturulur.
mu 無

7
kullanımgit log --no-merges
0xAX

1
@ 0xAX Bunu bir cevap olarak gönderebilir misin, kabul edeceğim.
mu 無

Yanıtlar:


138

kullanım

git log --author=<name> --no-merges

Ek olarak --first-parentseçenek sizin için yararlı sonuçlar verebilir:

--first-parent Bir birleştirme taahhüdünü gördükten sonra yalnızca ilk üst taahhüdü izleyin. Bu seçenek, belirli bir konu dalının gelişimini görüntülerken daha iyi bir genel bakış sağlayabilir, çünkü bir konu dalına birleştirmeler yalnızca zaman zaman güncellenmiş yukarı akışa uyum sağlamakla ilgilidir ve bu seçenek, getirilen bireysel taahhütleri göz ardı etmenize olanak tanır tarihiniz böyle bir birleşmeyle. --Bisect ile birleştirilemez.


daha da güzel --pretty=format:"%h%x09%an%x09%ad%x09%s"
k1eran

1
@ k1eran bu commit gövdesini kısaltır (bir tane olduğunu varsayarsak)
Erythros

1
@Erythros anladı ve taahhütlerin kısa ve okunabilir bir özetini almayı faydalı buluyorum.
k1eran

Veya renkler ve grafik dahillog --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --first-parent
Highmastdon

19

Birleştirmeleri atlayabilirsiniz --no-merges:

git log --no-merges --author=<name>

Ayrıntılar için git log kılavuz sayfasına bakın.


2
Bu yalnızca birleştirme işlemlerini hariç tutar. Ancak bu yukarı akış şubesinin içindeki normal taahhütler hala görünür durumda.
Shiplu Mokaddim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.