哪些Git提交统计数据容易获取

103

之前我很喜欢 TortoiseSvn 的一项功能,它可以为给定的 SVN 存储库生成简单的提交统计数据。我想知道 Git 有哪些类似的功能,尤其是:

  • 每个用户的提交次数
  • 每个用户更改的行数
  • 随时间的活动情况(例如按周聚合的更改量)

你有什么想法吗?

12个回答

0

修改https://dev59.com/3XI_5IYBdhLWcg3wMf9_#18797915。输出结果更接近于GitHub的图形数据。

#!/usr/bin/ruby

# takes the output of this on stdin: git log --numstat --prety='%an'

map = Hash.new{|h,k| h[k] = [0,0,0]}
who = nil
memo = nil
STDIN.read.split("\n").each do |line|
  parts = line.split("\t")
  next if parts.size == 0
  if parts[0].match(/[a-zA-Z]+|[^\u0000-\u007F]+/)
    if who
      map[who][0] += memo[0]
      map[who][1] += memo[1]
      if memo[0] > 0 || memo[1] > 0 
        map[who][2] += 1
      end
    end
    who = parts[0]
    memo = [0,0]
    next
  end
  if who
    memo[0]+=parts[0].to_i
    memo[1]+=parts[1].to_i
  end
end

puts map.to_a.map{|x| [x[0], x[1][0], x[1][1], x[1][2]]}.sort_by{|x| -x[1] - x[2]}.map{|x|x.inspect.gsub("[", "").gsub("]","")}.join("\n")

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接