Git提交至Github无法统计到Commit解决方法

Git提交至Github无法统计到Commit解决方法

起因

最近一直用IDEA写东西然后用Git提交到Github仓库,一开始还没发现有什么问题,但是这几天我关注了下Profile上的Contribute统计发现一连好多天都没有Commit记录,这我就奇了怪了,我这么长时间的Commit都跑到哪儿去了,我一看Github的记录才发现提交的用户不显示头像,我才知道因为本地用户名和Github用户名不一致才导致贡献没有统计到自己的账号上.


修改本地Git信息


git config --global user.email #查看邮箱
git config --global user.name #查看用户名

然后去Github上看看你绑定的邮箱以及用户名是不是对应的

可以在这里查看绑定的邮箱,如果还没有绑定的话也可以在此处绑定https://github.com/settings/emails

注意用户名不是Public Profile页面设置的Name,而是要看Username

也就是点开头像后最上面一条"Signed in as"后面的那个

现在根据Github上的信息把本地的用户名和邮箱改成和Github一样


git config --global user.email "example@gmail.com" #修改邮箱
git config --global user.name "Username" #修改用户名

修改Commit记录以及仓库归属

如果你本地Git信息与Github上不符,而在新建仓库时不是去Github创建的,比如用IDEA的时候直接在Github上共享,这种情况下会使用本地Git信息来进行创建,导致就连仓库都不是自己的(悲

这时候也可以将仓库归属改成我们自己,使用以下命令


git filter-branch -f --env-filter '

下一行出现>>>的前缀后输入以下命令:


if [ "$GIT_AUTHOR_NAME" = "GitName" ] #匹配原用户名
then
export GIT_AUTHOR_NAME="GithubName" #更改后的用户名
export GIT_AUTHOR_EMAIL="example@gmail.com" #更改后的邮箱
fi
' HEAD

然后回车执行,等命令执行完成

之后再去Github查看就发现仓库所属已经成功变成自己了

     

接下来修改之前所有未正确提交的Commit

代码和上面差不多,用法也一样,参考上面使用就行了


git filter-branch -f --env-filter '

if [ "$GIT_COMMITTER_NAME" = "GitName" ] #匹配原用户名
then
export GIT_COMMITTER_NAME="GithubName" #更改后的用户名
export GIT_COMMITTER_EMAIL="example@gmail.com" #更改后的邮箱
fi
' HEAD

如果你待更改的Commit记录比较多可能需要多等一会

注意这个时候更改的Commit不会立即在Github上生效,我们需要Push一下

首先保证本地没有更改但尚未提交的文件,如果有请先提交

之后使用以下命令强制Push到Github


git push -f origin master

如果你的分支不一样自行改成对应的分支即可

然后Github上的所有之前交错的Commit记录就都变成自己的了,头像也可以正常显示出来了

最后

完成这一切之后Profile页面的Commit统计就可以正常显示出来了,之前因为错误提交导致灰色的小绿点也变得正常了,并且由于已经修改了Git用户的全局配置,之后再进行提交的时候也就不会出现贡献不显示的情况了.

文章链接:https://blog.syrizelink.top/index.php/2023/02/187/
?本博客文章仅用作个人学习/知识分享使用,不保证其正确性以及时效性
✏️部分素材来源于网络,如有侵权请联系我删除
?未经作者同意时,如要转载请务必标明出处
上一篇
下一篇