2015-10-14 90 views
2

日历显示去年所做的贡献。有没有办法看到类似的计数,但没有开始日期限制?有没有办法看到我对Github做出的所有贡献的计数?

+0

可你只需要使用git的命令行? http://stackoverflow.com/questions/11657295/count-the-number-of-commits-on-a-git-branch或http://gitready.com/intermediate/2009/01/22/count-your- commits.html – Marc

回答

0

有没有办法看到类似的计数但没有开始日期限制?

不,但我建了git-stats - 一个跟踪你的本地提交和显示图形的工具,比如GitHub。

与我的图表的一个例子。

1

您可以使用Github的API检索你的仓库和几行代码的统计数据产生一个全球性的计数。

注意:公共访问请求方面的限制相当低。我建议您使用Access commit statusRead all user profile data权限生成令牌(Settings > Developper settings > Personal access tokens)。

这是一个使用curljq的小bash脚本。你只需要改变你的用户名。您也可以取消对AUTH线并设置生成的令牌,以避免撞上查询的限制:

#!/bin/bash 

# Parameters 
USER=jyvet 
#AUTH="-u $USER:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 

GAPI="https://api.github.com" 
REPOS=$(curl $AUTH -s $GAPI/users/$USER/repos | jq -c -r '.[].name') 

COMMITS=0 
ADDITIONS=0 
DELETIONS=0 

# Iterate over all the repositories owned by the user 
for r in $REPOS; do 
    STATS=$(curl $AUTH -s "$GAPI/repos/$USER/$r/stats/contributors" | 
      jq ".[] | select(.author.login == \"$USER\")" 2> /dev/null) 

    if [ $? -eq 0 ]; then 
     tmp=$(echo -n "$STATS" | jq '.total' 2> /dev/null) 
     COMMITS=$((COMMITS + tmp)) 

     tmp=$(echo -n "$STATS" | jq '[.weeks[].a] | add' 2> /dev/null) 
     ADDITIONS=$((ADDITIONS + tmp)) 

     tmp=$(echo -n "$STATS" | jq '[.weeks[].d] | add' 2> /dev/null) 
     DELETIONS=$((DELETIONS + tmp)) 
    fi 
done 

echo "Commits: $COMMITS, Additions: $ADDITIONS, Deletions: $DELETIONS" 

结果:

> Commits: 193, Additions: 20403, Deletions: 2687 
相关问题