美文网首页
github上contributions统计错误

github上contributions统计错误

作者: 这里王工头 | 来源:发表于2019-01-31 00:28 被阅读0次

    欢迎访问我的博客https://qqqww.com/,祝所有码农同胞们早日走上人生巅峰,迎娶白富美~~

    1 前言

    前段时间还没注意,今天去看了下我的contributions,结果令我惊讶,统计的只有20个,然后我去查了什么会产生contributions,结果更匪夷所思,上面明确室友写到自己的仓库自己的commit是会产生contributions的,这么一想,我仅仅commit了也至少几百次吧,怎么就只有20呢?下面是研究和解决问题过程~~

    2 基本概念

    想必能搜到这文章的老铁们,大概是对github已经有一定的了解了,那么什么是contributions呢?

    下面来自官网的官方说法:

    Your GitHub profile shows off your pinned repositories as well as a graph of your repository contributions over the past year.

    人类的语言:

    就是在github库(repository)中所做的贡献统计,那么怎么才能有贡献呢?

    3 什么操作会统计在contributions

    Issues 和 pull requests

    需要满足:

    1. 一年之内
    2. 独立的仓库,不能是fork来的

    commits

    需要满足:

    1. 一年之内
    2. commits使用的email地址是与你的Github账号相关联的
    3. 独立仓库,不是fork来的
    4. 这些commits是在
      1. 默认分支(通常是master)
      2. gh-pages分支(包含 Project Pages sites 的仓库)

    4 Contributions未被Github计入的几个常见原因

    1. 进行Commits的用户没有被关联到你的Github帐号中,可能是github邮箱设置错误,或者commit用的邮箱和github主邮箱不一致
    2. 不是在这个版本库的默认分支进行的Commit
    3. 仓库是Fork仓库,不是独立仓库

    4.1 排查

    这里以邮箱错误为例,因为我的也是这个原因,直接把处理过程写上了

    1. 查询commit的邮箱

      将你的没有统计commitscontributions中的仓库版本历史记录都克隆到本地,并cd到本地仓库根目录下,git log查询历史记录邮箱

    git clone --bare "这里写你的仓库地址"
    cd 克隆到本地的文件夹的名字(一般是xxx.git)
    git log // 查询以前commit的时候用的邮箱
    
    1. github个人资料中看自己的主邮箱

      登录,右上角头像点击有个菜单,菜单里有个settings点击,左边找到Emails,看下图中英文

    Primary email address

    formanW@aliyun.com will be used for account-related notifications and for web-based GitHub operations (e.g. edits and merges).

    翻译成汉语:

    主电子邮件地址

    formanW@aliyun.com将用于与帐户相关的通知和基于网络的GitHub操作(例如编辑和合并)。

    githubemail
    1. 比对下你commit的邮箱和主电子邮箱是否一样,不一样的话,就是这原因无疑了

    4.2 解决方案

    1. 在你刚才克隆下来的仓库中新建一个文件script.sh,将如下代码粘贴进去
    #!/bin/sh
    git filter-branch --env-filter '
    OLD_EMAIL="旧的Email地址"
    CORRECT_NAME="正确的用户名"
    CORRECT_EMAIL="正确的邮件地址"
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
        export GIT_COMMITTER_NAME="$CORRECT_NAME"
        export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
        export GIT_AUTHOR_NAME="$CORRECT_NAME"
        export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
    
    1. 直接在本地仓库中,双击这个script.sh脚本运行,会弹出来一个控制面板,上面就是更新的历史记录
    2. 完成2步骤之后,在本地仓库根目录中运行以下命令上传正确的历史记录到giehub
    git push --force --tags origin 'refs/heads/*'
    
    1. 删掉刚才克隆的下来的本地仓库
    2. 至此,去你的github contributions看看,统计的数量就正常了

    4.3 正确设置github邮箱和用户名

    git config --global user.email "你的邮件地址"
    git config --global user.name "你的Github用户名"
    

    设置之后,就可以开心的进行以后的github提交了,妈妈再也不担心github没贡献了

    5 参考文章

    相关文章

      网友评论

          本文标题:github上contributions统计错误

          本文链接:https://www.haomeiwen.com/subject/reihsqtx.html