2010-04-28 6 views
18

क्या किसी को कमांड या स्क्रिप्ट के बारे में पता है जो परियोजना के लिए प्रतिबद्ध प्रत्येक लेखक को आउटपुट करेगा जिसके बाद उन्होंने योगदान की लाइनों की संख्या के बाद।गिट - लेखक द्वारा की गई लाइनों की संख्या देखने का कोई तरीका है?

उदा। निम्न जैसा कुछ:

Author  Insertions Deletions 
Bob Dole  1240   409 
Sarah J  481   140 
Jim Helper 388   23 

चीयर्स, बेन

+0

यह शायद 'Git-blame' के उत्पादन पर एक सरल awk/SED स्क्रिप्ट के साथ पूरा किया जा सकता। http://www.kernel.org/pub/software/scm/git/docs/git-blame.html –

उत्तर

5

Git shortlog -sne

+1

मैं अपने उत्तर में यह भी उल्लेख करने वाला था, तुमने मुझे पंच पर मार दिया। –

+40

यह लाइन की संख्या नहीं बताता है! –

+2

यह भी अच्छी जानकारी है, लेकिन लेखक द्वारा काम की संख्या प्रिंट करता है, लाइनों की संख्या नहीं। –

4

एक त्वरित खोज GitStats अप खोदा है, हालांकि यह है कि केवल HTML आउटपुट उत्पन्न करता है।

अद्यतन: एक थोड़ा और अधिक LookAtGit कर दिया खोद कर, जो आपके लिए क्या देख रहे थे की तर्ज पर अधिक लगता है।

दूसरा अपडेट: जैसा कि मूल प्रश्न पर एक टिप्पणी पर बताया गया है, यह भी sed/awk के साथ गिट के साथ पूरा किया जा सकता है। SO पर यह right here कैसे करें इसका एक अच्छा उदाहरण है।

+0

लेकिन यह ओपन सोर्स है, इसलिए आप इसे इच्छित आउटपुट प्रारूप उत्पन्न कर सकते हैं ... –

+4

सच है, यद्यपि मुझे लगता है कि वह एक पूर्व-मौजूदा लिपि के लिए नहीं पूछ रहा होगा अगर उसके पास खुद को चाबुक करने का समय था। –

6

यह एक विशेष लेखक के लिए लाइन आंकड़े दिखाती है:

git log --author="_Your_Name_Here_" --pretty=tformat: --numstat \ 
| gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' - 
+0

क्या आप सभी लेखकों के लिए आउटपुट आंकड़ों के लिए अपना उत्तर बढ़ा सकते हैं? – mrgloom

+0

@mrgloom, यह काम करना चाहिए: 'जबकि मैं पढ़ता हूं; गिट लॉग करें - प्राधिकरण = "$ i" --pretty = tformat: --numstat | {printf "$ i:"; गॉक '{जोड़ें + = $ 1; subs + = $ 2; लोक + = $ 1 - $ 2} अंत {printf "पंक्तियों को जोड़ा गया:% s हटाई गई रेखाएं:% s कुल पंक्तियां:% s \ n", जोड़ें, subs, loc} '-; }; किया <<(git shortlog -sne | sed's/[^ <]*<\([^>] * \)>/\ 1/'| sort -u) ' –

संबंधित मुद्दे