写点什么

Git 本地提交代码推送远程并未统计贡献量问题分析

作者:andy
  • 2022-11-09
    北京
  • 本文字数:1295 字

    阅读完需:约 4 分钟

Git本地提交代码推送远程并未统计贡献量问题分析

1-问题呈现


对于使用 Git 进行代码版本控制,开发者都会有一个心态,就是自己贡献的代码能够在远程仓库中被统计出,也就是我们常见的在 Gitee、GitHub、Gitlab 上所看到的那个贡献量标记统计。


但是,在进行使用过程中,发现本地提交代码推送远程并未统计进去,也就是远程站点并实时体现贡献量。对于努力付出的人,没有得到一定的回报,是相当郁闷的。


本地提交代码图片示例如下:



远程仓库 GitHub 贡献量统计图片示例:



从结果来看,并未将更新的代码贡献量统计进去。


2-思考分析


正在困惑之时,试着尝试直接从远程仓库更新代码,看看有没有贡献量的统计,为了区分,这里使用了 Gitee 码云作为远程仓库直接操作站点。


在 Gitee 站点直接修改文件内容,而后提交,贡献量统计结果如下:



从结果来看,更新的代码已经统计进贡献量里了。这就奇怪了,为什么本地推送远程无法统计,而远程站点直接操作,就可以统计。


正在思考分析之时,突然想到了,之前的时候,更改了远程仓库站点 Gitee、Github 的主邮箱,而没有更新本地的密钥 SSH,也就是以新的邮箱地址生成的密钥 SSH 绑定到远程仓库上,所以,就没有统计出来。


远程仓库绑定邮箱为:



再查看本地 SSH 密钥内容,如下:



查看 id_rsa.pub 文件内容,发现邮箱确实与远程绑定不同。找到问题的原因,接下来就比较好解决了。只需要重新在本地生成一个以新邮件地址为主的密钥 SSH 即可。


如何生成密钥 SSH,就不在这里赘述了,可以直接网上查找内容即可。


生成新 SSH 结果如下:



将新生成密钥 SSH 配置到 Gitee 和 GitHub 远程仓库 SSH 即可,结果如下:




3-验证分析


为了验证分析是否正确,接着在本地更新代码提交并推送远程,查看是否能够进行贡献量统计。代码更新提交并推送远程,截图如下:



查看远程 GitHub 仓库,结果却是出乎意料,结果如下:



4-重新思考分析


经过以上步骤验证分析之后,说明并未找到问题的根本原因。重新想了,是否是全局邮箱和用户设置的问题,通过以下指令查看信息:


git config --global --list
复制代码


查看结果如下:



这就说明了还需要重新设置本地的全局用户和邮箱变量,更新结果如下:



5-重新验证分析


以上配置重新设置好后,重新进行代码提交并推送远程,截图如下:



再查看 GitHub 远程仓库,是否具有代码贡献量,截图如下:



从结果来看,实现了贡献量的统计,解决了问题。


6-归纳总结


对于这个问题,有以下两点思考:


第一,贡献量的统计是以账号为单元展开的


从工作量统计而言,也应该是以账号为单位,而不是以一个密钥作为统计单位。最开始为彻底解决问题,便是在这个环节思考出了问题。密钥 SSH,只是一把钥匙,但是,这把钥匙到底是谁在用,还是需要说明的。


第二,实际工作中应该做好工作量统计


在真实的工作环境下,一定要做好自己的工作量统计,这不仅关乎自己的努力付出得到肯定,还避免被他人误会。没有工作量统计,领导和同事怎么知道你做了什么、有什么绩效,怎么知道你到底对于整个项目做了什么贡献。


因此,不要小看这个细节,有时候,很多细节决定了成败。


第三,解决问题就是不断假设不断验证的过程


对于问题的解决,实际上,我们有时候很难一步到位,很难马上就可以解决问题。真实的场景下,影响因素很多,需要考虑的要点很多,所以,不断假设不断验证,才是解决问题的正确步骤。


发布于: 刚刚阅读数: 5
用户头像

andy

关注

还未添加个人签名 2019-11-21 加入

还未添加个人简介

评论

发布
暂无评论
Git本地提交代码推送远程并未统计贡献量问题分析_andy_InfoQ写作社区