有没有办法获取git存储库的下载/克隆统计信息?


80

有什么办法可以让git仓库从github克隆或下载多少次?我只是好奇,因为我发现其他统计信息(例如提交时间行的代码)可能使用以下方法生成:http : //gitstats.sourceforge.net/,但我没有找到如何检查克隆/下载计数的方法。


您是否想查找存储库已被分叉多少次?因为那绝对是可行的。

1
现在,您可以看到克隆数量:请参阅如何获取GitHub克隆统计信息?
VonC

Answers:


31

克隆是只读操作,原始存储库未修改。您无法为根本无法跟踪的数据提取统计信息。


24
嗯,有可能通过在传输机制级别进行日志记录来在git之外跟踪它。例如,我很确定gitolite日志将提供足够的信息来推断出克隆(尽管我认为它们可能与以不同方式获取所有ref并没有区别?在这里没有任何内容可看)。但是,当然,即使存在,您也无法从github访问此类内容。
卡斯卡贝尔2011年

没关系,克隆是可以自己克隆的完整存储库。看到一个特定的存储库实例已被克隆多少次,对于弄清楚有多少人已经普遍克隆了它没有用。
meagar

29
是的,它肯定永远不会是一个可靠的统计数据,但是例如,我可以看到一个开放源代码项目很好奇,至少要有一个数量级的估计值来估计有多少人可以从开发主那里构建而不是稳定的快照。
卡斯卡贝尔2011年

1
我认为他们可以记录git clone请求的数量;甚至更好的是,这些请求实际上完成了下载。
水瓶座力量

81

现在超级简单!

转到“ REPO->数据透视->流量”

在此处输入图片说明


1
仅需注意,这似乎要求您具有一定级别的“所有权”或提交者级别的访问权限
bbarker

3
@KevinWorth OP在他的问题中特别提到了github。并标记为github。也许您没有阅读完整的问题,或者没有看过它的标签?
csga5000 '18 -4-2

3
很棒-它显示了过去30天的统计信息。如果他们有全部时间或每年,那将是很好的,但这是一件好事!
TetraDev '18年

13

我只是发现有一种使用github API的命令来获得它的更简单方法。

curl -u [username]:[password] https://api.github.com/repos/[owner]/[repo]/traffic/clones

这里:

username  = your github id
password  = your github password, optional. If not put in command, a password request would pop out.
owner     = the owner of the repo, might be another name for a organized repo
repo      = the repo name

玩得开心。


5

关于下载统计信息,您可以通过API获得有关发布的信息。

对于使用WordPress的用户,我开发了此插件:GitHub Release Downloads。它允许您获取GitHub存储库版本的下载数量,链接和更多信息。

为了解决原始问题,简码[grd_count user="User" repo="MyRepo"]将返回存储库的下载次数。该数字对应于一个GitHub存储库的所有版本的所有下载计数值的总和。

例: 例


1

实际的克隆计数可以通过“克隆图”功能获得,我已经能够通过此功能获取单个计数:

#!/bin/sh
#
# This script requires:
#   apt-get install html-xml-utils
#   apt-get install jq
#
USERNAME=dougluce
PASSWORD="PASSWORD GOES HERE, BE CAREFUL!"
REPO="dougluce/node-autovivify"

TOKEN=`curl https://github.com/login -s -c /tmp/cookies.txt | \
     hxnormalize | \
     hxselect 'input[name=authenticity_token]' 2>/dev/null | \
     perl -lne 'print $1 if /value=\"(\S+)\"/'`

curl -X POST https://github.com/session \
     -s -b /tmp/cookies.txt -c /tmp/cookies2.txt \
     --data-urlencode commit="Sign in" \
     --data-urlencode authenticity_token="$TOKEN" \
     --data-urlencode login="$USERNAME" \
     --data-urlencode password="$PASSWORD" > /dev/null

curl "https://github.com/$REPO/graphs/clone-activity-data" \
     -s -b /tmp/cookies2.txt \
     -H "x-requested-with: XMLHttpRequest" #| jq '.summary'

0

您可以使用shields.io提供的图标栏,该图标栏显示包括Github在内的各种网站中项目的计数。它们显示下载计数,但不显示克隆计数。

这是我有一个项目的示例:

降价代码:

![GitHub All Releases](https://img.shields.io/github/downloads/lewdev/hw-gen/total)

结果:

GitHub所有版本

没有人“下载”我的应用程序,因为它已经发布,但是人们确实克隆了它。因此,我宁愿查看该计数。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.