Gitリポジトリーからの統計の生成


373

私はgitリポジトリからいくつかの統計を生成できる優れたツール/スクリプトを探しています。私はこの機能をいくつかのコードホスティングサイトで見ました、そしてそれらは次のような情報を含んでいました...

  • 著者ごとのコミット
  • 日/週/年/年ごとのコミットなど。
  • 時間の経過に伴うコード行
  • グラフ
  • ...はるかに

基本的に、プロジェクトが時間とともにどれだけ成長するか、どの開発者がほとんどのコードをコミットするかなどのアイデアを知りたいだけです。

回答:


250

横にGitStatsGitの履歴統計ジェネレータ)によって述べxyld、Pythonで書かれており、グラフのgnuplotのを必要もあります

  • PHPとPerlで記述されたgitstatSourceForge)プロジェクト(Webベースのgit統計インターフェイス
  • Git統計、別名gitstats(gitリポジトリの統計を収集するように設計されたメトリックフレームワーク)、Pythonで書かれ、Google Summer of Code 2008でのgit-statisticsプロジェクトの結果これはWebアプリではありません
  • gitinspectorは、優れたレポートを生成するための比較的新しいCLIベースのPythonツールです
  • Hercules -Goで記述された依存関係のないネイティブアプリ。高度な分析タイプに特化しています。

1
xyldの回答を参照してください。(gitstatではなく)gitstatsがおそらく最善の策です。
ジェイパロライン2010

readline-6.2.tar.gzとgnuplotをインストールした後、gitstatsをインストールしました。しかし、それからstatの画像を生成するために必要なライブラリーが欠落しており、gitstatsの出力を表示するときにpngが欠落していることがわかりました。だから、かなりこのことは正しく機能し得るために続く:dansanderson.com/blog/2011/03/...
デヴィッド・バンDugteren

参考までに、この一連のツールは非常に素晴らしくシンプルです:github.com/dustin/bindir。それらはグーグルピトンチャートに基づいており、簡単に使用できます:dustin.github.io/2009/01/11/timecard.html
Snicolas

1
Macアプリさえあります:itunes.apple.com/us/app/gitstatx/id592679713
mt=

4
これは単純に機能しますapt-get install gitstats。:そして、このようなgitのディレクトリにそれを実行gitstats ~/gitdir /tmp/output
リュック

275

著者ごとのコミット

git shortlog -s -n 

63
マージを除外:git shortlog -sn --no-merges
doblak

4
eフラグはコミッターのメールアドレスを提供します git shortlog -sne
Kalpa Gunarathna

1
個人的には、各人が最後に触れた行数、または1人あたりに変更された行の総数にもっと興味があります。作者ごとのコミットも興味深いです。
Nathan Loyer、2018

12
git shortlog -s -n --since "DEC 31 2017"特定の日付以降にフィルタリングする場合。年次レビューに
最適

1
@トッドは100%同意します。冗談だよ
エネコアロンソ

78

私はRubyでgitリポジトリ統計ジェネレーターをやっています、それはgit_statsと呼ばれています

一部のリポジトリ用に生成されたサンプルは、プロジェクトページにあります

これができることのリストです:

  • 一般統計
    • 合計ファイル(テキストとバイナリ)
    • 合計行(追加および削除)
    • 合計コミット
    • 著者
  • 活動(合計と著者ごと)
    • 日付でコミット
    • 時間ごとにコミット
    • 曜日ごとにコミット
    • 週の時間でコミット
    • 年の月ごとにコミット
    • 年ごとのコミット
    • 年および月ごとのコミット
  • 著者
    • 著者によるコミット
    • 著者によって追加された行
    • 著者によって削除された行
    • 著者によって変更された行
  • ファイルと行
    • 日付順
    • 拡張によって

追加または改善すべき点がありましたらお知らせください。フィードバックをいただければ幸いです。


オブジェクトの数とリポジトリのサイズは、一般的な統計に追加するとよいでしょう
pdeschen

コミット:月の日。彼らは月末にもっと活動的ですか?
Ole

とてもかっこいい!過去に見たことがない
fb

本当に素晴らしい作品ですが、私を悩ませているのは、Rubby:Dに書かれていることだけです
Georgi Peev

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/16/install-gnuplot-on-mac-os-xこの修正をgnuplotビンに適用して、leancrew.com / all-this / 2012/02 / fixing-gnuplot-on-os-x-10-7-3
loretoparisi

@Loretoparisi、最初のリンクが機能しなくなりました。MacOSX 10.8.2でGitstatsを使用する方法についてのチュートリアルをここに作成しました:softwarepassion.com/quick-peek-into-your-git-repo-with-gitstats
Kris

ubuntuでは、sudo apt-get install gnuplot
okwap '11

Windowsで実行するためのヒント:stackoverflow.com/a/29384484/24267 残念ながら、gitstatsはあまり役に立ちませんでした-各著者の統計の詳細な内訳を確認したいと思います。
mhenry1384

Windowsユーザーの場合:codeproject.com/Tips/830613/...
ダニ・

16

簡単なグーグル検索が私を導きました:http : //gitstats.sourceforge.net/

このプロジェクトを試しましたか?同様のプロジェクトがあると確信しています。


9
Google経由でこれを見つけた人へのクイックノート:gitstatsは上記のgitstatと同じではありません。Zomg gitstatsははるかに優れています。insomuchasには依存関係はありません。それは自己完結型であり、動作します。
ジェイパロライン2010

1
gnuplot-pyを除いて、会社は私のウェブサーバー上のFedoraに40MBのdepsをドラッグしたいと考えているようです:(
Aiden Bell

4

プロジェクトがGitHubにある場合、今(2013年4月)にPulseがあります(「Pulseを使いこなす」を参照)。

これはより制限されており、必要なすべての統計情報を表示するわけではありませんが、どのGitHubプロジェクトでもすぐに利用できます。

Pulseは、プロジェクトの最近の活動を発見するのに最適な方法です。
Pulseは、積極的にコミットしている人と、プロジェクトのデフォルトブランチで何が変更されたかを示します

脈動

ナビゲーションバーの左側にリンクがあります

リンク

その情報を抽出するAPIは(まだ)ないことに注意してください。


4

ホストされたソリューションを好む場合は、オープンハブ(以前のOhloh.net)をチェックする必要があります。それはいいですが、大きな統計を期待しないでください。


あなたが少し不器用なインターフェースと24時間ベースでのアップデートで大丈夫なら、ohlohisは良い選択です、そうでなければ私はDIYアプローチに行きます。
drahnr 2012

1
ohlohはクールですが、パブリックリポジトリでのみ機能します。また、gitだけでなく、多くのVCSで動作します。
naught101 2012年

@ naught101 代わりにgitential.comを試してみてください。ベータ版ですが、コーディング時間、プロジェクト、チーム、リポジトリ、および個々の開発者の生産性を測定および視覚化します。
kszucs 2017年

3

git-bars 「1日あたり/週あたり/年あたりのコミット数」などを表示できます。

あなたはそれをインストールすることができます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

再掲は、gitstatsツールの拡張されたフォークです。

pypi上の同じ名前のプロジェクトに関連しているかどうかはわかりません。そのため、GitHubから最新のリリースをダウンロードして、Python環境にインストールすることをお勧めします。

2019年11月の時点で、PATHでgnuplotを使用可能にした後、Windows 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リポジトリーの相互分析を開始します。

著者に関するコミット統計情報と、いくつかの差分統計情報を表示できます。

提供されている角度クライアントとkibanaを使用して、統計を視覚化できます。

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

時間とともに改善されます。

Angularクライアントのスクリーンショット

Angularクライアントのスクリーンショット

Kibanaクライアントのスクリーンショット

Kibanaクライアントのスクリーンショット]



0

スクリプトを提供する必要はありませんが、Haystackと呼ばれるこのサービスは、基本的にgitアクティビティに基づいて統計、トレンド、アラートを提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.