我发现回购已经存在的git的一般统计数据,但我有兴趣做类似的事情:
git today
并获得像作者提交的#提交,行数等等。
我最感兴趣的是当前用户的#行数。我可以自己合并其他内容的结果
答案 0 :(得分:3)
如果您想查看git存储库活动的图形表示,请使用gitstats
实用程序:http://gitstats.sourceforge.net/
以下所有命令都假定使用例如bash。通过运行以下命令,您可以获得与今天具有相同日期的第一个提交。
> first_commit=`git log --pretty=format:"%h" --since "$(date +%Y-%m%-d):00:00"
以下命令将处理统计信息的git存储库:
> gitstats -c commit_begin=<COMMIT_ID> . target/gitstats
通过组合这些,我们可以得到一个简单的命令,如果我们愿意,我们可以设置为别名:
> first_commit=`git log --pretty=format:"%h" --since "$(date +%Y-%m%-d):00:00" | tail -n1`; gitstats -c commit_begin=$first_commit . target/gitstats
然后使用首选浏览器
打开./target/gitstats/index.html
答案 1 :(得分:2)
嗯,这需要一些脚本来完成,但我建议你先看一下这个命令的输出:
git log --format="format:%ae" --numstat
另请注意,git log
也可以采用--after=<date>
参数。
答案 2 :(得分:1)
这是一个基于RJo答案的完整脚本:
#!/bin/bash
set -e
TMPDIR=.tmp.gitstat.$$
mkdir $TMPDIR
trap "rm -fr $TMPDIR" EXIT
gitstats -c commit_begin=$(git log --pretty=format:%h --since $(date +%Y-%m-%d):00:00 | tail -1) . $TMPDIR
lynx $TMPDIR/index.html
(显然用你喜欢的浏览器替换lynx,并将脚本更改为等待它,或者不删除创建的目录,如果它在后台运行)。
请注意,没有错误检查,如果只有一个提交(git shortlog -s COMMIT..HEAD
必须为非空),则特别是gitstats chokes。