web-dev-qa-db-ja.com

Gitリポジトリから統計を生成する

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

  • 著者ごとのコミット
  • 1日あたりのコミット数/週/年/ etc.
  • コードの行数
  • グラフ
  • ...もっと

基本的に、私は自分のプロジェクトが時間とともにどれだけ大きくなるか、どの開発者がほとんどのコードをコミットしているかなどのアイデアを得たいだけです。

320
BastiBen

xyld で述べられている GitStatsgit history statistics generator)の他に、グラフにGnuplotが必要ですまた

  • PHPで書かれた gitstatSourceForge )プロジェクト(webベースのgit統計インターフェース)そしてPerl
  • Git Statistics 、別名gitstats(gitリポジトリに関する統計を収集するためのメトリックフレームワーク)、Pythonで書かれた、 git-statisticsプロジェクトの結果、 Google Summer of Code 2008 これはウェブアプリではありません
  • gitinspector Niceレポートを生成するための、かなり新しいCLIベースのPythonツールです。
  • Hercules - Goで書かれた依存性のないネイティブアプリ。高度な分析タイプを専門としています。
206
Jakub Narębski

著者ごとのコミット

git shortlog -s -n 
240
Ruslan Kabalin

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

いくつかのリポジトリ用に生成された例は プロジェクトページ にあります。

これができることのリストはここにあります:

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

何を追加または改善するのかご意見がありましたら、お知らせください。フィードバックをいただければ幸いです。

69
tomgi

私は試してみました http://gitstats.sourceforge.net/ 、スタートはとてもおもしろいです。

git clone git://repo.or.cz/gitstats.gitが完了したら、そのフォルダに移動してgitstats <git repo location> <report output folder>と言います(これによって多数のファイルが生成されるので、レポート用に新しいフォルダを作成します)。

これが統計のクイックリストです。

  • アクティビティ
    • その日の時間
    • 曜日
  • 著者
    • 著者のリスト
    • 今月の作者
    • 年の作者
  • ファイル
    • 日付によるファイル数
    • 拡張機能
    • コード行
  • タグ
39
Jeevan Pingali

クイックGoogle検索で私を導いた: http://gitstats.sourceforge.net/

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

15
dlamotte

そして、もしあなたがホスト型ソリューションを好むなら、あなたは Open Hub (以前のOhloh.net)をチェックするべきです。いいですが、大きな統計を期待しないでください。

4
lzap

あなたのプロジェクトがGitHub上にあるなら、あなたは今(2013年4月)Pulseを持っています( " Pulseでスピードアップする "):

それはもっと限定的で、あなたが必要とするかもしれない all の統計を表示しませんが、どんなGitHubプロジェクトでもすぐに利用可能です。

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

Pulse

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

Link

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

4
VonC