Có cách nào để lấy số liệu thống kê về lượt tải xuống / sao chép của kho lưu trữ git không?


81

Có cách nào để lấy bao nhiêu lần kho lưu trữ git đã được sao chép hoặc tải xuống từ github không? Tôi chỉ tò mò khi tìm thấy các số liệu thống kê khác như thời gian cam kết các dòng mã được tạo bằng cách sử dụng: http://gitstats.sourceforge.net/ nhưng tôi không tìm thấy cách kiểm tra số lượng bản sao / lượt tải xuống.


Bạn có muốn tìm hiểu xem kho lưu trữ đã được chia nhỏ bao nhiêu lần không? Bởi vì điều đó chắc chắn là có thể làm được.

1
Bây giờ bạn có thể xem số lượng bản sao : xem Cách nhận số liệu thống kê Bản sao GitHub?
VonC

Câu trả lời:


31

Sao chép là một hoạt động chỉ đọc, kho lưu trữ gốc không được sửa đổi. Không có cách nào bạn có thể lấy thống kê cho dữ liệu đơn giản là không được theo dõi.


24
Vâng, có thể theo dõi nó bên ngoài git, bằng cách đăng nhập ở cấp độ của cơ chế truyền tải. Ví dụ: tôi khá chắc chắn rằng các bản ghi gitolite sẽ cung cấp đủ thông tin để suy ra các bản sao (mặc dù tôi nghĩ rằng chúng có thể không phân biệt được khi tìm nạp tất cả các bản tham chiếu theo một cách khác? Không có bất kỳ thông tin nào để xem ở đây). Nhưng tất nhiên, bạn không có quyền truy cập vào loại thứ đó từ github, ngay cả khi nó tồn tại.
Cascabel

Đừng bận tâm rằng bản sao là kho lưu trữ đầy đủ có thể được nhân bản. Xem bao nhiêu lần một phiên bản cụ thể của kho lưu trữ đã được nhân bản sẽ không hữu ích cho việc tìm ra bao nhiêu người đã nhân bản nó trên toàn cầu.
Mudgar

29
Vâng, nó chắc chắn sẽ không bao giờ là một thống kê đáng tin cậy, nhưng ví dụ, tôi có thể thấy một dự án nguồn mở đang tò mò muốn ít nhất có một thứ tự ước tính độ lớn về số người có thể đang xây dựng từ bậc thầy phát triển thay vì ảnh chụp nhanh ổn định.
Cascabel

1
Tôi nghĩ rằng họ có thể ghi lại số lượng yêu cầu git clone; hoặc thậm chí tốt hơn, những yêu cầu này thực sự hoàn tất quá trình tải xuống.
Aquarius Power

83

Nó siêu dễ dàng ngay bây giờ!

Đi tới "REPO -> Insights -> Traffic"

nhập mô tả hình ảnh ở đây


1
chỉ là một lưu ý, điều này dường như yêu cầu bạn phải có một số cấp độ "quyền sở hữu" hoặc quyền truy cập cấp độ người cam kết
bbarker 02/02

3
@KevinWorth OP đã đề cập cụ thể đến github trong câu hỏi của anh ấy. Và được gắn thẻ github. Có lẽ bạn đã không đọc câu hỏi đầy đủ hoặc nhìn vào các thẻ của nó?
csga5000

3
Tuyệt vời - nó hiển thị thống kê 30 ngày qua. Sẽ thật tuyệt nếu họ có tất cả thời gian hoặc theo năm, nhưng đây là một cái gì đó!
TetraDev

15

Tôi chỉ phát hiện ra có một cách đơn giản hơn để lấy nó bằng một lệnh duy nhất bằng cách sử dụng github API.

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

đây:

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

Chúc vui vẻ.


5

Về thống kê lượt tải xuống, bạn có thể nhận thông tin về Bản phát hành của mình thông qua API .

Đối với những người sử dụng WordPress, tôi đã phát triển plugin này: GitHub Release Downloads . Nó cho phép bạn nhận được số lượt tải xuống, liên kết và thông tin khác về các bản phát hành của kho GitHub.

Để giải quyết câu hỏi ban đầu, shortcode [grd_count user="User" repo="MyRepo"]sẽ trả về số lượt tải xuống cho một kho lưu trữ. Con số này tương ứng với tổng tất cả các giá trị số lượt tải xuống của tất cả các bản phát hành cho một kho lưu trữ GitHub.

Thí dụ: Thí dụ


1

Số lượng bản sao thực tế có sẵn thông qua tính năng Đồ thị nhân bản , mà tôi đã có thể quét để có được số lượng riêng lẻ:

#!/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

Bạn có thể sử dụng shields.io cung cấp các thanh biểu tượng hiển thị số lượng các dự án trong các trang web khác nhau bao gồm cả Github. Chúng hiển thị số lượt tải xuống, nhưng không hiển thị số lượng bản sao.

Đây là một ví dụ cho một dự án mà tôi có:

Mã đánh dấu:

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

Kết quả:

GitHub Tất cả các bản phát hành

Không ai "tải xuống" ứng dụng của tôi vì nó đã được xuất bản, nhưng mọi người sao chép nó. Vì vậy, tôi muốn xem số lượng cho điều đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.