गिट रिपॉजिटरी से आंकड़े तैयार करना


373

मैं कुछ अच्छे टूल / स्क्रिप्ट की तलाश कर रहा हूँ जो मुझे एक git रिपॉजिटरी से कुछ आँकड़े उत्पन्न करने की अनुमति दें। मैंने कुछ कोड होस्टिंग साइटों पर इस सुविधा को देखा है, और वे जानकारी जैसे ...

  • प्रति लेखक करता है
  • दिन / सप्ताह / वर्ष / आदि प्रति दिन करता है।
  • समय के साथ कोड की लाइनें
  • रेखांकन
  • ... बहुत अधिक

मूल रूप से मैं सिर्फ एक विचार प्राप्त करना चाहता हूं कि समय के साथ मेरी परियोजना कितनी बढ़ जाती है, जो डेवलपर सबसे अधिक कोड, और इसी तरह से करता है।

जवाबों:


249

बगल में GitStats ( Git इतिहास आँकड़े जनरेटर ) ने उल्लेख किया xyld , पायथन में लिखा और रेखांकन के लिए gnuplot की आवश्यकता होती है, वहाँ भी है

  • gitstat ( SourceForge ) परियोजना ( वेब-आधारित गिट सांख्यिकी इंटरफ़ेस ), PHP और पर्ल में लिखा गया है,
  • गिट सांख्यिकी , उर्फ ​​गिटस्टेट्स ( मेट्रिक्स फ्रेमवर्क जिसे गिट रिपॉजिटरी पर आंकड़े इकट्ठा करने के लिए डिज़ाइन किया गया है ), पायथन में लिखा गया है, कोड ऑफ़ गूगल समर 2008 में गिट-स्टैटिस्टिक्स प्रोजेक्ट का परिणाम यह एक वेब ऐप नहीं है
  • gitinspector अच्छी रिपोर्ट तैयार करने के लिए एक नया, CLI आधारित पायथन उपकरण है
  • हरक्यूलिस - देशी ऐप बिना निर्भरता के, गो में लिखा गया है, जो उन्नत विश्लेषण प्रकारों में माहिर है।

1
xyld का उत्तर देखें। gitstats (gitstat नहीं) शायद आपकी सबसे अच्छी शर्त है।
जे परोलिन

मुझे रीडलाइन-6.2.tar.gz और gnuplot स्थापित करने के बाद स्थापित करने के लिए gitstats मिला। लेकिन तब यह पाया गया कि यह स्टैच्यू इमेज बनाने के लिए जरूरी लाइब्रेरियों को याद कर रहा था, जिसके परिणामस्वरूप गिट्सटैट आउटपुट को देखने के दौरान पीएनजी गायब थी। बहुत ज्यादा इसे सही ढंग से काम करने के लिए इसका अनुसरण किया गया: dansanderson.com/blog/2011/03/…
डेविड वैन डुग्टरन

संदर्भ के लिए, टूल का यह सेट वास्तव में अच्छा और सरल है: github.com/dustin/bindir । वे google pithon चार्ट पर आधारित हैं और उपयोग करने के लिए सरल हैं: dustin.github.io/2009/01/01/11/timecard.html
Snicolas

1
इसके लिए एक मैक ऐप भी है: itunes.apple.com/us/app/gitstatx/id592679713?mt=12
pgpb.padilla

4
कूल, यह बस काम करता है apt-get install gitstats:। फिर इसे इस तरह एक git डाइरेक्टरी पर चलाएं:gitstats ~/gitdir /tmp/output
Luc

275

प्रति लेखक करता है

git shortlog -s -n 

63
मर्ज को बाहर करें:git shortlog -sn --no-merges
doblak

4
ई ध्वज आपको git shortlog -sne
कमेंट

1
व्यक्तिगत रूप से मैं इस बात में अधिक रुचि रखता हूं कि प्रत्येक व्यक्ति कितनी लाइनों को छूने के लिए अंतिम था, या प्रति व्यक्ति कुल लाइनों की संख्या बदल गई। हालांकि प्रति लेखक कमिट भी दिलचस्प है।
नाथन लॉयर

12
git shortlog -s -n --since "DEC 31 2017"यदि आप दिए गए दिनांक से फ़िल्टर करना चाहते हैं। वार्षिक समीक्षा के लिए बढ़िया;)
एनको अलोंसो

1
@ टॉड 100% सहमत। मेरा मतलब इसे मजाक के रूप में था
Eneko Alonso

78

मैं रूबी में एक git रिपॉजिटरी सांख्यिकी जनरेटर कर रहा हूं, इसे git_stats कहा जाता है ।

आप कुछ रिपॉजिटरी पर उत्पन्न उदाहरण पा सकते हैं परियोजना पृष्ठ

यहाँ यह क्या कर सकता है की एक सूची है:

  • सामान्य आँकड़े
    • कुल फाइलें (पाठ और बाइनरी)
    • कुल लाइनें (जोड़ी और हटाई गई)
    • कुल काम करता है
    • लेखक
  • गतिविधि (कुल और प्रति लेखक)
    • आज तक कमिट करता है
    • दिन के हिसाब से काम करता है
    • सप्ताह के दिन तक काम करता है
    • सप्ताह के घंटे के अनुसार
    • साल के महीने तक कमिट करता है
    • साल के हिसाब से
    • साल और महीने के हिसाब से
  • लेखक
    • लेखक द्वारा किया गया
    • लेखक द्वारा जोड़ी गई लाइनें
    • लेखक द्वारा हटाई गई लाइनें
    • लेखक द्वारा लाइनें बदली गईं
  • फाइलें और लाइनें
    • तिथि के अनुसार
    • विस्तार से

यदि आपके पास कोई विचार है कि क्या जोड़ना या सुधारना है तो कृपया मुझे बताएं, मैं किसी भी प्रतिक्रिया की सराहना करूंगा।


ऑब्जेक्ट संख्या और रेपो आकार सामान्य आंकड़ों के लिए अच्छा जोड़ होगा
pdeschen

द्वारा प्रतिबद्ध: महीने का दिन। क्या वे महीने के अंत में अधिक सक्रिय हैं?
ओले तांगे

बहुत ही शांत! अतीत में देखा गया हवलदार
fb

वास्तव में अच्छा काम है, लेकिन केवल एक चीज जो मुझे परेशान करती है वह है रूबी पर लिखा गया है: डी
जॉर्जी पीव

43

मैंने http://gitstats.sourceforge.net/ की कोशिश की , शुरू करना बहुत दिलचस्प है।

एक बार हो git clone git://repo.or.cz/gitstats.gitजाने के बाद , उस फ़ोल्डर में जाएं और कहेंgitstats <git repo location> <report output folder> (रिपोर्ट के लिए एक नया फ़ोल्डर बनाएं क्योंकि यह बहुत सारी फाइलें उत्पन्न करता है)

यहाँ इस से आँकड़ों की एक त्वरित सूची है:

  • गतिविधि
    • दिन का घंटा
    • सप्ताह के दिन
  • लेखकों
    • लेखकों की सूची
    • महीने का लेखक
    • वर्ष का लेखक
  • फ़ाइलें
    • तारीख तक फ़ाइल गणना
    • एक्सटेंशन
  • पंक्तियां
    • कोड की पंक्तियाँ
  • टैग

3
यह GnuPlot की जरूरत है। Gnuplot को स्थापित करने के लिए, Mac पर dmg को यहाँ से पकड़ो miscdebris.net/blog/2009/09/09/16/install-gnuplot-on-mac-os-x इस फिक्स को gnuplot bin, leanedrew.com/all-this पर
लॉरेटोपरिसी

@Loretoparisi, पहली लिंक does not काम अब, मैं कैसे यहाँ मैक OSX 10.8.2 पर Gitstats उपयोग करने के लिए पर एक ट्यूटोरियल बनाया है: softwarepassion.com/quick-peek-into-your-git-repo-with-gitstats
क्रिस

Ubuntu में, sudo apt-get install gnuplot
okwap

इसे विंडोज पर चलाने के संकेत: stackoverflow.com/a/29384484/24267 दुर्भाग्य से, मुझे गिटस्टैट्स बहुत उपयोगी नहीं लगे - मैं प्रत्येक लेखक के लिए आँकड़ों के बेहतर विखंडन को देखना चाहता हूँ।
mhenry1384

विंडोज उपयोगकर्ताओं के लिए: codeproject.com/Tips/830613/…
Dani

16

एक त्वरित Google खोज मुझे आगे ले जाती है: http://gitstats.sourceforge.net/

क्या आपने इस परियोजना की कोशिश की है? मुझे यकीन है कि इसी तरह के प्रोजेक्ट हैं।


9
Google के माध्यम से इसे खोजने वाले किसी भी व्यक्ति के लिए त्वरित नोट: gitstats ऊपर gitstat के समान नहीं है। Zomg gitstats ज्यादा बेहतर है, insomuchas यह कोई निर्भरता नरक है। यह स्वयं निहित है और सिर्फ काम करता है।
जे परोलिन

1
Gnuplot-py और कंपनी को छोड़कर, मेरे वेबसर्वर पर फेडोरा में 40MB डिपो में खींचना चाहता है :(
Aiden Bell

4

यदि आपका प्रोजेक्ट GitHub पर है, तो अब आपके पास (अप्रैल 2013) पल्स है (देखें " पल्स के साथ गति बढ़ाएं "):

यह अधिक सीमित है, और आपको उन सभी आँकड़ों को प्रदर्शित नहीं करना होगा जिनकी आपको आवश्यकता हो सकती है, लेकिन किसी भी GitHub परियोजना के लिए आसानी से उपलब्ध है।

पल्स परियोजनाओं पर हाल की गतिविधि की खोज करने का एक शानदार तरीका है।
पल्स आपको दिखाएगा कि कौन सक्रिय रूप से प्रतिबद्ध है और एक परियोजना की डिफ़ॉल्ट शाखा में क्या बदल गया है :

नाड़ी

आप नौसेना बार के बाईं ओर लिंक पा सकते हैं

संपर्क

ध्यान दें कि उस जानकारी को निकालने के लिए कोई एपीआई (अभी तक) नहीं है।


4

और यदि आप होस्ट किए गए समाधान पसंद करते हैं, तो आपको ओपन हब (पूर्व में ओहलो.नेट) की जांच करनी चाहिए । यह अच्छा है, लेकिन बड़े आंकड़ों की उम्मीद न करें।


यदि आप थोड़ा अनाड़ी इंटरफ़ेस और ~ 24 घंटों के आधार पर अपडेट के साथ ठीक हैं, तो यह अच्छा विकल्प है, अन्यथा मैं DIY दृष्टिकोण के लिए जाऊंगा।
ध्रन्र

1
ओहलो शांत है, लेकिन यह केवल सार्वजनिक रिपोज पर काम करता है। इसके अलावा, यह बहुत सारे वीसीएस के साथ काम करता है, न कि सिर्फ गिट।
n

@ naught101 आप विकल्प के रूप में gitential.com आज़मा सकते हैं । यह बीटा में है, लेकिन उपायों और कोडिंग घंटे, परियोजनाओं, टीमों, रेपो और व्यक्तिगत डेवलपर्स के लिए उत्पादकता का अनुमान लगाता है।
kszucs

3

git-bars आप "प्रति दिन / सप्ताह / वर्ष / आदि" दिखा सकते हैं।

आप इसे pip install git-bars(cf. https://github.com/knadh/git-bars ) के साथ स्थापित कर सकते हैं

आउटपुट इस तरह दिखता है:

$ git-bars -p month
370 commits over 19 month(s)
2019-10  7    ▀▀▀▀▀▀
2019-09  36   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-08  7    ▀▀▀▀▀▀
2019-07  10   ▀▀▀▀▀▀▀▀
2019-05  4    ▀▀▀
2019-04  2    ▀
2019-03  28   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-02  32   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-01  16   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-12  41   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-11  52   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-10  57   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-09  37   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-08  17   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-07  1    
2018-04  7    ▀▀▀▀▀▀
2018-03  12   ▀▀▀▀▀▀▀▀▀▀
2018-02  2    ▀
2016-01  2    ▀

3

repostat gitstats टूल का बढ़ा हुआ कांटा है।

मुझे यकीन है कि अगर यह, pypi पर एक ही नाम के साथ इस परियोजना से संबंधित किसी भी तरह से है, तो आपका सर्वश्रेष्ठ दांव से नवीनतम रिलीज डाउनलोड करने के लिए है नहीं कर रहा हूँ GitHub और अपने अजगर वातावरण में स्थापित करें।

नवंबर 2019 तक, मैं PATH में gnuplot उपलब्ध कराने के बाद, विंडोज 7 के तहत v1.2.0 का उपयोग करने में सक्षम था।


usage: repostat [-h] [-v] [-c CONFIG_FILE] [--no-browser] [--copy-assets]
                git_repo output_path

Git repository desktop analyzer. Analyze and generate git statistics in HTML
format

positional arguments:
git_repo              Path to git repository
output_path           Path to an output directory

optional arguments:
-h, --help            show this help message and exit
-v, --version         show program's version number and exit
-c CONFIG_FILE, --config-file CONFIG_FILE
                        Configuration file path
--no-browser          Do not open report in browser
--copy-assets         Copy assets (images, css, etc.) into report folder
                        (report becomes relocatable)

2

कल ही मैंने अपनी git-analytics docker-compose फ़ाइल जोड़ी है, जो एक दूसरे के विरुद्ध कई git रिपॉजिटरी का विश्लेषण शुरू करने के लिए कई कंटेनरों का निर्माण करती है।

यह आपको लेखक के बारे में समय के साथ आंकड़े दिखाने में सक्षम है और कई अलग-अलग आंकड़े भी।

आँकड़ों की कल्पना करने के लिए आप दिए गए कोणीय ग्राहक और किबाना का उपयोग कर सकते हैं।

https://github.com/alexejsailer/git-analytics-docker

समय के साथ इसमें सुधार किया जाएगा।

कोणीय ग्राहक स्क्रीनशॉट

कोणीय ग्राहक स्क्रीनशॉट

किबाना क्लाइंट स्क्रीनशॉट

किबाना क्लाइंट स्क्रीनशॉट]


0

मैं सिर्फ https://git-quick-stats.sh/ पर ठोकर खाई । यह थोड़ा धीमा लगता है, लेकिन इसे स्थापित करना और उपयोग करना बहुत आसान है।


0

यह आवश्यक रूप से स्क्रिप्ट प्रदान नहीं करता है, लेकिन हेस्टैक नामक यह सेवा मूल रूप से गिट गतिविधि के आधार पर आँकड़े, रुझान और अलर्ट प्रदान करती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.