Contributions
github將所有的改動行為稱為contributions
包括commit,pr, code review,isssue,fork等等。
github有個叫活動概覽(Activity overview)的功能,將contributions按照下面四個象限進行分類統計:
Commits
Pull requests
Code review
Issues
如下圖:(https://github.com/geektcp)

Commits
commits統計提交行為,如下4個條件中任意一個滿足即可:
1、新建了倉庫;
2、在自己建的倉庫提交了代碼(包括新增文件,編輯文件,刪除文件,重命名文件,移動文件路徑等);
3、fork了一個新倉庫;
4、創建了一個pull request請求;
5、合並了其他人的代碼Merge pull request
下面條件不會產生commits:
1、提交代碼時,git配置信息不對(git config --global --list),比如user.name和user.email和實際賬戶沒有完全對應;
2、在fork的倉庫只提交了代碼,沒有做其他任何操作。此外及時是這個倉庫的管理者也不會產生commits統計,只有創建者才有commits統計。
Pull requests
pull requests統計觸發條件:
在fork的倉庫提交了代碼之后,創建了一個pull request請求之后。
Code review
pull requests之后,在倉庫的管理者界面會看到pr請求,管理者查看代碼變更,點擊review changes界面,必須填寫備注說明后提交;
這時,倉庫管理者產生了一個code review類型的contribution。
Issues
當用戶在倉庫的issues欄目下提出問題或者解決了別人提出的問題,都會產生了一個issues類型的contribution。
舉例證明:
打開git地址,傳入時間過濾參數:
https://github.com/geektcp?tab=overview&from=2020-01-01&to=2020-03-17
所有contributions總共:64+10+26+9+1+2+89+7+60+8+1+5+1+1=284
commits: 64+89+60=213
create repositories: 10+7+8=25
pull requests: 26通過,1月份1pr要求切換分支合並,但沒有操作,剩下5個pr,1個提交成,另外4個沒有通過,實際pr:26+1=27,總共26+1+5=32
review: 9
issues: 1+2+1+2=5
象限統計:
Pull requests: 32/284=11.26%≈12%
Code reviews: 9/284=3.16%≈4%
Issues: 5/284=1.76%≈2%
Commits: (213+25)/284=83.8%≈84% 由於總數是100%,100%-12%-4%-2%=82%,
所以這里不會按commit的實際值計算,也不會往上浮動得到84%,而是從100%減去其他象限的比例得到。
實際結果如下圖:

