Git deposundan istatistik oluşturma


373

Git deposundan birkaç istatistik oluşturmama izin veren bazı iyi araçlar / komut dosyaları arıyorum. Bazı kod barındırma sitelerinde bu özelliği gördüm ve onlar gibi bilgiler içeriyordu ...

  • yazar başına taahhüt
  • günlük / hafta / yıl / vb.
  • zaman içinde kod satırları
  • grafikleri
  • ... daha fazla

Temel olarak sadece projemin zaman içinde ne kadar büyüdüğü, hangi geliştiricinin en çok kod taahhüt ettiği vb. Hakkında bir fikir edinmek istiyorum.

Yanıtlar:


250

Yanında GitStats ( git geçmişi istatistik jeneratör tarafından bahsedilen) xyld , Python ile yazılmış ve grafikler için gnuplot'a gerektiren da var


1
bkz. xyld'in cevabı. gitstats (gitstat değil) muhtemelen en iyi seçeneğinizdir.
Jay Paroline

Readline-6.2.tar.gz ve gnuplot yüklendikten sonra kurmanız gereken gitstats var. Ancak daha sonra, stat görüntülerini üretmek için gerekli kitaplıkların eksik olduğunu ve gitstats çıktısını görüntülerken eksik png'lerin eksik olduğunu buldu. Çok düzgün çalışmasını sağlamak için bunu takip etti: dansanderson.com/blog/2011/03/…
David van Dugteren

Referans olarak, bu araç kümesi gerçekten güzel ve basittir: github.com/dustin/bindir . Onlar dayanmaktadır google Pithon grafik ve kullanımı basittir: dustin.github.io/2009/01/11/timecard.html
Snicolas

1
Bunun için bir Mac Uygulaması bile var: itunes.apple.com/us/app/gitstatx/id592679713?mt=12
pgpb.padilla

4
Serin, bu basitçe çalışır: apt-get install gitstats. Sonra böyle bir git dizininde çalıştırın:gitstats ~/gitdir /tmp/output
Luc

275

yazar başına taahhüt

git shortlog -s -n 

63
Hariç git shortlog -sn --no-merges
tutulan

4
e bayrağı size komisyon e-posta adresi verir git shortlog -sne
Kalpa Gunarathna

1
Şahsen ben her bireyin en son kaç satır olduğuna ya da kişi başına toplam satır sayısının değişmesine daha çok ilgi duyuyorum. Yazar başına verilen taahhütler de ilginçtir.
Nathan Loyer

12
git shortlog -s -n --since "DEC 31 2017"belirli bir tarihten bu yana filtrelemek istiyorsanız. Yıllık incelemeler için harika;)
Eneko Alonso

1
@Todd% 100 katılıyorum. Şaka demek istedim
Eneko Alonso

78

Ruby'de git deposu istatistik oluşturucusu yapıyorum, buna git_stats deniyor .

Bazı depolar için oluşturulan örnekleri proje sayfasında bulabilirsiniz .

İşte yapabileceklerinin listesi:

  • Genel istatistikler
    • Toplam dosya (metin ve ikili)
    • Toplam satır (eklendi ve silindi)
    • Toplam taahhüt
    • Yazarlar
  • Etkinlik (toplam ve yazar başına)
    • Tarihe göre taahhütler
    • Günün saatine göre taahhüt
    • Haftanın gününe göre taahhütler
    • Haftanın saatine göre taahhütler
    • Yılın aya göre taahhütler
    • Yıllara göre taahhütler
    • Yıl ve aya göre taahhütler
  • Yazarlar
    • Yazarın taahhütleri
    • Yazar tarafından eklenen satırlar
    • Satır yazar tarafından silindi
    • Satır yazar tarafından değiştirildi
  • Dosyalar ve çizgiler
    • Tarihe göre
    • Ek olarak

Ne ekleyeceğiniz veya geliştireceğiniz hakkında herhangi bir fikriniz varsa lütfen bana bildirin, herhangi bir geri bildirimi takdir ediyorum.


Nesne sayımı ve repo büyüklüğü Genel istatistiklere iyi eklemeler olurdu
pdeschen

Taahhüt eden: Ayın günü. Ay sonunda daha aktifler mi?
Ole Tange

ÇOK HAVALI! Geçmişte görülen Havent
fb

Gerçekten güzel bir iş, ama beni rahatsız eden tek şey Rubby: D
Georgi Peev

43

Denedim http://gitstats.sourceforge.net/ , başlar çok ilginç.

Tamamlandığında git clone git://repo.or.cz/gitstats.git, bu klasöre gidin ve deyin gitstats <git repo location> <report output folder>(çok sayıda dosya oluşturduğundan rapor için yeni bir klasör oluşturun)

İşte bu istatistiklerin hızlı bir listesi:

  • aktivite
    • günün saati
    • haftanın günü
  • yazarlar
    • Yazarların Listesi
    • Ayın Yazarı
    • Yılın Yazarı
  • Dosyalar
    • Tarihe göre dosya sayısı
    • Uzantıları
  • hatlar
    • Kod satırları
  • etiketler

3
GnuPlot'a ihtiyacı var. Gnuplot'u yüklemek için Mac'te dmg'yi buradan buradan miscdebris.net/blog/2009/09/16/install-gnuplot-on-mac-os-x alın , bu düzeltmeyi gnuplot binisine uygulayın, leancrew.com/all-this / 2012/02 / sabitleme-gnuplot-on-os-x-10-7-3
loretoparisi

@Loretoparisi, ilk bağlantı artık çalışmıyor, Mac OSX 10.8.2'de Gitstats kullanımı hakkında bir eğitim oluşturdum: softwarepassion.com/quick-peek-into-your-git-repo-with-gitstats
Kris


Windows'ta çalışmasını sağlamaya yönelik ipuçları: stackoverflow.com/a/29384484/24267 Ne yazık ki, gitstatları çok kullanışlı bulamadım - her yazar için istatistiklerin daha iyi dökümünü görmek istiyorum.
mhenry1384

Windows kullanıcıları için: codeproject.com/Tips/830613/…
Dani

16

Hızlı bir Google araması beni şu adrese yönlendirir: http://gitstats.sourceforge.net/

Bu projeyi denediniz mi? Eminim benzer projeler var.


9
Bunu Google üzerinden bulan herkes için hızlı not: gitstats, yukarıdaki gitstat ile aynı şey değildir . Zomg gitstats çok daha iyidir, uykusuzluk bağımlılığı cehennemi yoktur. Kendi kendine yeten ve sadece çalışır.
Jay Paroline

1
Gnuplot-py dışında ve şirket web sunucumda Fedora üzerinde 40MB deps sürüklemek istiyor gibi görünüyor :(
Aiden Bell

4

Projeniz GitHub üzerindeyse, şimdi (Nisan 2013) Nabız var (bkz. " Nabız ile hızlanma "):

Daha sınırlıdır ve ihtiyacınız olabilecek tüm istatistikleri göstermez , ancak herhangi bir GitHub projesi için kolayca kullanılabilir.

Nabız, projelerdeki son etkinlikleri keşfetmenin harika bir yoludur.
Nabız size aktif olarak kimin taahhüt ettiğini ve bir projenin varsayılan dalında nelerin değiştiğini gösterecektir :

Nabız

Gezinme çubuğunun solundaki bağlantıyı bulabilirsiniz .

bağlantı

Bu bilgileri ayıklayacak (henüz) bir API olmadığını unutmayın.


4

Barındırılan çözümü tercih ediyorsanız, Open Hub'a (eski adıyla Ohloh.net) göz atmalısınız. Güzel, ama büyük istatistikler beklemeyin.


Eğer biraz beceriksiz arayüzü ve ~ 24 saat bazında güncellemeler ile tamam, ohlohis iyi bir seçim, aksi takdirde DIY yaklaşım için gitmek istiyorum.
drahnr

1
ohloh iyidir, ancak yalnızca halka açık depolarda çalışır. Ayrıca, sadece git değil, birçok VCS ile çalışır.
naught101

@ naught101 Gitential.com'u alternatif olarak deneyebilirsiniz . Beta sürümündedir ancak kodlama saatlerini, projeler, ekipler, depolar ve bireysel geliştiriciler için verimliliği ölçer ve görselleştirir.
kszucs

3

git-bars size gösterebilir "günlük taahhüt / hafta / yıl / vb".

Bunu pip install git-bars(cf. https://github.com/knadh/git-bars ) ile kurabilirsiniz

Çıktı şöyle görünür:

$ 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 aracının geliştirilmiş bir çatal.

Projenin herhangi bir şekilde pypi'de aynı adla ilgili olup olmadığından emin değilim, bu yüzden en iyi bahisiniz GitHub'dan en son sürümü indirmek ve Python ortamınıza yüklemek.

Kasım 2019 itibariyle, gnuplot'u PATH'de kullanılabilir hale getirdikten sonra Windows 7 altında v1.2.0'ı kullanabildim.


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

Sadece dün git-analytics docker-compose dosyamı ekledim.

Size zaman içinde yazarla ilgili istatistikleri ve çeşitli fark istatistiklerini gösterebilir.

İstatistikleri görselleştirmek için sağlanan açısal istemciyi ve kibana'yı kullanabilirsiniz.

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

Zaman içinde geliştirilecektir.

Açısal İstemci Ekran Görüntüsü

Açısal İstemci Ekran Görüntüsü

Kibana Client Ekran Görüntüsü

Kibana Client Ekran Görüntüsü]



0

Mutlaka komut dosyası sağlamaz, ancak Haystack adı verilen bu hizmet temelde git etkinliğine dayalı istatistikler, eğilimler ve uyarılar sağlar.

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.