Các cách chính xác để làm điều này là thông qua Events API.
Trước tiên, bạn cần phải fetch the user's events:
GET /users/:username/events
Sau đó, bạn sẽ muốn lọc mảng đáp ứng cho các hạng mục where type
is set to PushEvent
. Mỗi một trong số các mục này tương ứng với một người dùng git push
. Các cam kết từ đẩy đó có sẵn theo thứ tự thời gian đảo ngược trong mảng payload.commits
.
Bước tiếp theo là lọc các cam kết của người dùng khác bằng cách kiểm tra thuộc tính author.email
của từng đối tượng cam kết. Bạn cũng có quyền truy cập vào các thuộc tính như sha
, message
và url
trên cùng một đối tượng và bạn có thể loại bỏ các cam kết trùng lặp trên nhiều lần đẩy bằng cách sử dụng thuộc tính distinct
.
CHỈNH SỬA: Như được chỉ ra bởi Adam Taylor trong nhận xét, phương pháp này là sai. Tôi thất bại với RTFM, xin lỗi. API cho phép bạn tìm nạp tối đa 300 sự kiện và sự kiện cũng được giới hạn trong 90 ngày qua. Tôi sẽ để lại câu trả lời ở đây cho đầy đủ nhưng đối với câu hỏi được nêu rõ về việc tìm nạp tất cả các cam kết, nó sẽ không hoạt động.
Nguồn
2016-07-08 19:56:39
Đây không phải là cho tất cả ** đóng góp **. Nó chỉ hiển thị tất cả năm nay cho tôi, không phải kể từ năm 2011. –