2012-05-23 12 views
7

İki git log adlar kurdunuz: Bir --name-status göstermek için:Git log --stat'i --name-status ile birleştirin mi?

... 
| A path/to/yourfile.c 
| M path/to/myfile.c 
| M path/to/my/otherfile.c 
... 

ve bir --stat göstermek için:

... 
| path/to/yourfile.c   | 2 ++ 
| path/to/myfile.c   | 2 +- 
| path/to/my/otherfile.c  | 27 +++++----- 
... 

o ikisini birleştirmek mümkün mü?

... 
| A path/to/yourfile.c   | 2 ++ 
| M path/to/myfile.c   | 2 +- 
| M path/to/my/otherfile.c  | 27 +++++----- 
... 

Ben --stat bakış seviyorum ama dosyalar eklendiğinde veya kaldırıldığında olsaydı bana söylemez; sadece bir şekilde değiştirildiler.

(iki komut satırı bayrakları kombine edildiğinde, --stat göz ardı edilir.)

cevap

7

Ben --stat ve --name-status birleştirmek için bir yol bilmiyorum, ama ekledi listesini almak için git log --stat --summary kullanabilirsiniz/diffstat ek olarak kaldırılmış/yeniden adlandırılmış/kopyalanan dosyaları.

0

git status ve git diff --stat için benzer bir fikrim vardı.

git status | sed -e "$(git diff --stat | sed -e 's#/#\\/#g' | awk '/\|/ {print "s/" $1 "/" $0 "/;"}')" 

Ben senin git günlüğü komutları ile değiştirmek çalıştı ama (o sayfalanan nedeniyle) çok uzun şunlardır: Birisi bana ile gelip yardımcı oldu. Eğer oturumunuzu -n5 ile kısaltırsanız (sadece son 5 sözleşmeyi gösterin) bu iyi bir başlangıçtır.

git log --name-only -n5| sed -e "$(git log --stat -n5 | sed -e 's#/#\\/#g' | awk '/\|/ {print "s/" $1 "/" $0 "/;"}')" 
İlgili konular